如果进行m文件编程,而不知道输入参数个数
采用:
function y=y(varargin)
在这里我简单描述一下varargin的相关使用
(1)对输入参数个数的判断采用:
比如
y(y1,y2)
则nargin=2;
所以你可以这样编程:
if nargin==2
y=y(y1,y2);
.....
end
(2)当使用varargin的时候
如果想要得到参数的值,
比如y=y(y1,y2)调用函数是,
在运算时候想要得到y1的值
则varargin{1}就是你想要得到的,
依此类推,varargin{2}就是y2的值
(3)还有相对应的参数varargout和nargout,想要灵活的进行m文件的编程
这两个参数好好研究一下
你好,我检查了,写法没问题。应该是你的disc函数,出现了问题,或者除了0,或者其他。
其中,也提一些修改建议:
syms phia thetaa;这句不需要,matlab不需要定义。
保存为数组方法:
function lengthp= workspace11(il,ia,ia0)
global l a a0;
l=il;
a=ia;
a0=ia0;
flag=1
for phia=0:18:90
for thetaa=0:18:90
lengthp(flag)=disc11(phia,thetaa);
end
flag=flag+1;
end
end
函数名字建议不采用matlab敏感的名字,disc,workspace都是matlab自有的。
希望对你有帮助。