函数参数与变量的作用域+程序流程总结

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

 

在程序设计中,全局变量破坏了函数对变量的封装,降低了程序的可读性。在结构化程序设计中,全局变量一般不用。

 

posted @ 2020-05-04 16:35  彡灬小宇  阅读(300)  评论(0编辑  收藏  举报