我正在使用的代碼MATLAB While循環語法
k = 0;
while k<3
k = k+1;
a = 5^k;
disp(a);
end
然而,當輸出結果只給了我一個迭代的答案。我不知道有什麼區別到計算機時,您使用此代碼來代替:
clear, clc
k = 0;
while k<3
k = k+1;
a(k) = 5^k;
end
disp(a)
爲什麼第一個代碼示例輸出只有125,而第二個輸出5,25,和125?
我正在使用的代碼MATLAB While循環語法
k = 0;
while k<3
k = k+1;
a = 5^k;
disp(a);
end
然而,當輸出結果只給了我一個迭代的答案。我不知道有什麼區別到計算機時,您使用此代碼來代替:
clear, clc
k = 0;
while k<3
k = k+1;
a(k) = 5^k;
end
disp(a)
爲什麼第一個代碼示例輸出只有125,而第二個輸出5,25,和125?
在第一個代碼中,變量a
是標量。 因此,Matlab會在每次迭代中擦除並重新寫入變量a
。
但是,在第二個代碼的情況下,如您在變量a
處定義數組索引k
,Matlab會將您的變量a(k)
理解爲數組變量。並且,在每次迭代中,Matlab都將相應數組點上的指定值5^k
寫入。
謝謝,這是一個很好的解釋和解釋! –
不客氣! – KKS
你確定第一個代碼結果是125嗎? – Spiderman
我得到'[5; 25; 125]'和[5,25,125]'這兩個代碼。爲什麼你在做'while'而不是'for'? – user1543042
您可能想閱讀[入門文檔](http://www.mathworks.com/academia/student_version/learnmatlab.pdf) – patrik