作业帮 > 综合 > 作业

请问下面Matlab定义函数中if nargin==0,x=0:.05:1;end有什么用?后面2个if作用是什么

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 08:03:14
请问下面Matlab定义函数中if nargin==0,x=0:.05:1;end有什么用?后面2个if作用是什么
function[out1,out2]=hump(x)
if nargin==0,x=0:.05:1;end
y=1./((x-.3).^2+.1)+1./((x-.9).^2+.4)-6;
if nargout==2
out1=x;out2=y;
else
out1=y
end
nargin和nargout分别表示这个函数的输入和输出变量的个数.第一个if的意思:当输入变量个数为零时即没有输入,给输入变量x赋值x=0:.05:1.第二个if是:当输出变量个数为两个时,输入变量x的值赋给输出变量out1,计算的y值赋给输出变量out2,当输出变量为其他数时,只把计算的y值赋给out1.
再问: 给输入变量x赋值x=0:.05:1.在这个函数定义中有什么用途呢?
再答: 这个函数是做什么用的啊? 当没有输入变量x,本程序自动给函数y的自变量x赋初始值。