matlab自定义函数

global

  • 将变量声明为全局变量
  • 除了定义使用global,在其它自定义函数内使用时也要使用global先定义。

function

  • function 声明函数名称、输入和输出
  • function [y1,...,yN] = myfun(x1,...,xM) 声明名为 myfun 的函数,该函数接受输入 x1,…,xM 并返回输出 y1,…,yN。此声明语句必须是函数的第一个可执行代码行。有效的函数名称以字母字符开头,并且可以包含字母、数字或下划线。
    • 可以将函数保存在以下位置:
      • 只包含函数定义的函数文件中。文件的名称应与文件中其函数的名称一致
      • 包含命令和函数定义的脚本文件中。函数必须位于该文件的末尾。脚本文件不能与文件中的函数具有相同的名称。R2016b 或更高版本才可以在脚本中直接写直接用函数
  • 文件可以包含多个局部函数或嵌套函数。为提高可读性,可使用 end 关键字来表示文件中每个函数的末尾。以下情况下需要 end 关键字:
    • 文件中有任意函数包含嵌套函数。
    • 该函数是函数文件中的局部函数,并且文件中有局部函数使用 end 关键字。
    • 该函数是脚本文件内的局部函数。

在文件中创建函数

  • 在文件中创建函数
  • 程序文件可以包含多个函数。如果文件仅包含函数定义,则第一个函数是主函数,也是 MATLAB 与文件名关联的函数主函数或脚本代码后面的函数称为局部函数。局部函数只能在文件内使用

匿名函数

  • 格式:函数句柄变量=@(匿名函数输入参数)匿名函数表达式
    1
    2
    3
    4
    5
    6
    EG:
    f1=@(x,y)x^2+y^2;
    f1(3,4)

    ans =
    25

自定义函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
一:
function 输出形参表=函数名(输入形参表)
注释(对这个函数的解释说明)
函数体语句
End

EG:圆的周长和面积
function [s,c]=circle(r)
%求圆的周长和面积
c=2*pi*r;
s=pi*r^2;
End

[s,c]=circle(3)%保存好函数文件,在命令行窗口或另一个脚本里调用

二:
function 函数名
注释(对这个函数的解释说明)
函数体语句
end
EG:最强代号
function CTGUMCM
axis off; %关闭坐标轴
%Menubar是菜单条 none就是不显示图上方的菜单条
set(gcf,'menubar','none','toolbar','none','unit', 'normalized', 'position', [0,0,1,1]);
for k=1:377
h=text(rand, rand, ...
['\fontsize{',num2str(unifrnd(5,77)),'} CTGU MCM'],...
'color',rand(1,3),'Rotation',360*rand);
pause(0.2);
end
------ The Happy Ending ------