初心者の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
代わりに、A、B、Cを行ベクトルに明示的に配置して返す場合は、すべて問題ありません。
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
ここで何が問題になっていますか?