xk=-1 (k
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 11:17:03
xk=-1(kxk=-1(kxk=-1(k是这样的,你的函数文件这样编的话,在调用的时候好像是不像你想的那样给一个k,返回一个yt值,而是只判断了最后一个else,所以导致最后返回的是yt=k,所以最
xk=-1 (k
xk=-1 (k
xk=-1 (k
是这样的,你的函数文件这样编的话,在调用的时候好像是不像你想的那样给一个k,返回一个yt值,而是只判断了最后一个else,所以导致最后返回的是yt=k,所以最后出来的是一个与k成比例的直线.即if和elseif的结果都被最后的else覆盖了,把你的函数文件改成下面这个
function yt=zjr(k)
,l]=size(k);
for i=1:l
if k(i)1
yt(i)=1/k(i);
else
yt(i)=k(i);
end
end
这样保证yt这个矩阵的每一个值都经过了if,elseif,else的运算,都被保存在矩阵里,这样调用函数文件才能算出对应的数
如果用你的函数的话,好像是应该在调用的时候 给循环,比如
,l]=size(k);
for i=1:l
y(i)=zjr(k(i));
end
(矩阵的角标必须是正整数)
这样才行,不过我没有试,你可以试试看.