本文主要是介绍2021-09-29,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
递归函数、局部变量与全局变量
%一个函数调用它自身称为函数的递归调用。递归是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
%例子 利用函数的递归调用,求n! 。
function f=fact(n)
if n<=1
f=1;
else
f=n*fact(n-1);
end
调用结果:
n=input('please input n=');
s=fact(n);
disp(s)
%函数参数的可调性 nargin 输入实参的个数 nargout 输出实参的个数。
function fout=test(a,b,c)
if nargin==1
fout=a;%输入的实参依次赋值给abc,这里只有一个实参,所以赋值给a
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
%局部变量是指在程序中只在特定过程或函数中可以访问的变量,也就是函数内的参数不能被其他函数调用。
%全局变量的作用域是整个MATLAB工作空间,也就是全程有效,所有的函数都可以对它进行存取和修改。
%全局变量的定义格式 global 变量名
function f=wad(x,y)
global ALPHA BETA
f=ALPHA*x+BETA*y;
% 输出结果
% ALPHA=1;也可以再工作空间中ALPHA和BETA定义为全局变量(global ALPHA BETA),这样就能在工作空间中使用全局变量
% BETA=2;
% s=wad(1,2)%注意此处为s并非f,因为f仅仅是形参,不影响输出结果,但是s的结果会返回给f
%
% s =
%
% 5
这篇关于2021-09-29的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!