Matlab程序设计(六)----创建函数(function)
本部分中的函数创建⾮常重要,主要分为三个⼩部分:
(本部分主要参考了Matlab⽂件的讲述:)。
matlab定义函数表达式⼀、函数基本知识
function语法:function [y1,...,yN] = myfun(x1,...,xM),其中[y1,...,yN]为输出量,myfun为函数名,(x1,...,xM)为函数输⼊量。
有效的函数名称以字母字符开头,并且可以包含字母、数字或下划线。
三个⼩注意事项:
注意事项⼀:可以将函数保存在以下位置:
1、只包含函数定义的函数⽂件中。⽂件的名称应与⽂件中其函数的名称⼀致。
2、包含命令和函数定义的脚本⽂件中。函数必须位于该⽂件的末尾。脚本⽂件不能与⽂件中的函数具有相同的名称。R2016b 或更⾼版本的脚本中⽀持函数。
注意事项⼆:⽂件可以包含多个局部函数或嵌套函数。为提⾼可读性,可使⽤ 关键字来表⽰⽂件中每个函数的末尾。以下情况下需
要 end 关键字:
⽂件中有任意函数包含嵌套函数。
该函数是脚本⽂件内的局部函数。
注意事项三:
需要在代码⽂件中创建函数
下⾯是⽰例部分:
(1)创建仅包含⼀个输出的函数
在命令⾏中调⽤函数average
(2)脚本⽂件中创建函数
(3)包含多个输出的函数
(4)函数⽂件中的多个函数
注意事项:
局部函数仅可供同⼀⽂件中的其他函数使⽤。
函数只能在⽂件中创建,不能在命令⾏中创建。
有效的函数名称以字母字符开头,并且可以包含字母、数字或下划线。
两种创建⽅式:在脚本中仅有函数命令,需要在命令⾏调⽤函数;在脚本中既有函数命令还有函数的调⽤命令,那么直接保存完脚本⽂件后,点击运⾏或者在命令⾏中输⼊脚本⽂件名称,然后点击enter。
⼆、在编译器中运⾏函数
在名称为 myfunction.m 的程序⽂件中创建函数。
将键⼊要运⾏的代码替换为允许运⾏函数的表达式。
也可以在同⼀⾏输⼊多条命令,例如
对于更复杂的多⾏命令,可创建单独的脚本⽂件,然后运⾏脚本。
三、函数类型
(1)⽂件中的局部函数和嵌套函数
程序⽂件可以包含多个函数。局部和嵌套函数可⽤于将程序分为更⼩的任务,使读取和维护代码变得更容易。
在仅包含函数定义的函数⽂件中,局部函数可以任意顺序出现在⽂件中主函数的后⾯。在包含命令和函数定义的脚本⽂件中,局部函数必须位于⽂件末尾。
例如,创建⼀个名为 myfunction.m 的函数⽂件,其中包含主函数 myfunction 以及两个局部函数 squareMe 和 doubleMe
:
可以从命令⾏或另⼀程序⽂件中调⽤主函数,但局部函数仅适⽤于 myfunction ,可以看到主函数显⽰黄⾊。
尤其需要注意的是:局部函数和嵌套函数在⽂件中的位置。
(2)⼦⽂件中的私有函数:
与局部或嵌套函数⼀样,私有函数仅供特定位置的函数访问。但是,私有函数与可以调⽤它们的函数不在同⼀个⽂件中。它们位于名称
为 private 的⼦⽂件夹中。仅 private ⽂件夹紧邻的上⼀级⽂件夹内的函数可使⽤私有函数。使⽤私有函数将代码分割为不同的⽂件,或在多个相关函数间共享代码。
(3)⽆需创建⽂件的匿名函数:
只要函数包含⼀个语句,匿名函数即允许您定义该函数⽽不必创建程序⽂件。匿名函数通常⽤于定义数学表达式,然后使⽤ MATLAB ® 功能函数(即接受函数句柄⽤作输⼊的函数)基于某个值范围计算该表达式。
例如,以下语句为匿名函数创建名称为 s 的函数句柄:
s = @(x) sin(1./x);
该函数具有⼀个输⼊ x 。@ 运算符创建函数句柄。
可以使⽤该函数句柄针对特定值计算函数,例如
function y = myfunction(x)
y = x.^2 + x;
y = myfunction(1:10)
x = 1:10; y = myfunction(x)
也可以将该函数句柄传递给在某⼀值范围内计算的函数,例如
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论