1
对不起,初学者MATLAB的问题...Matlab的回报矢量
function [ A B C ] = crunch(i)
A = i^2;
B = 2*A;
C = A+B;
end;
vals = zeros(5,3);
for i=1:5
vals(i,:) = crunch(i);
endfor;
disp(vals);
这不是结果我的预期。
vals =
1 1 1
4 4 4
9 9 9
..... etc
,如果我不是explicitiy地方A,B &下,在一个行向量,并返回,那么一切都很好。
function retval = crunch(i)
A = i^2;
B = 2*A;
C = A+B;
retval = [ A B C ];
end;
ans =
1 2 3
4 8 12
9 18 27
16 32 48
25 50 75
这是怎么回事?
使用紧缩的第一个版本,这也会产生正确的值: vals =零(5,3);对于i = 1:5, [vals(i,1),vals(i,2),vals(i,3)] = crunch(i)的 。 end disp(vals); – igon
非常感谢,很多学习 – Alasdair