函数参数与变量的作用域+程序流程总结
3.8 函数参数与变量的作用域
函数参数的可调性
全局变量与局部变量
1.函数参数的可调性
调用函数时,matlab有两个预定义变量。
nargin ——>输入实参的个数
nargout ——>输出实参的个数
可以实现一个函数,多个功能。返回不同的函数值。
例:建立函数文件test.m。
function fout=test(a,b,c)
if nargin==1
fout=a;
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
>> fout=test(2)
fout = 2
>> fout=test(2,3,2)
fout = 6
2.全局变量与局部变量
局部变量:在程序中只在特定过程或函数中可以访问的变量。
全局变量 :整个matlab工作空间,全程有效,所有的函数都可以对它进行存取和修改。
全局变量定义格式:
global 变量名
例子:
建立函数文件wad.m。
function f=wad(x,y) //输入的参数加权相加
global ALPHA BETA
f=ALPHA*x+BETA*y;
在命令行窗口中输入命令并得到输出结果。
>> global ALPHA BETA
>> ALPHA=1;
>> BETA=2; //直接改变函数的值
>> s=wad(1,2)
s = 5
在程序设计中,全局变量破坏了函数对变量的封装,降低了程序的可读性。在结构化程序设计中,全局变量一般不用。