1
寫入單個MATLAB表達生成包含第一100個術語如下序列的一個矢量:2,-4,8,-16,32,...序列在MATLAB
我嘗試:
n = -1
for i = 1:100
n = n * 2
disp(n)
end
問題是n的所有值不顯示在單個(1 x 100)向量中。顯示交替的正和負項。怎麼做 ?
寫入單個MATLAB表達生成包含第一100個術語如下序列的一個矢量:2,-4,8,-16,32,...序列在MATLAB
我嘗試:
n = -1
for i = 1:100
n = n * 2
disp(n)
end
問題是n的所有值不顯示在單個(1 x 100)向量中。顯示交替的正和負項。怎麼做 ?
你有一個幾何系列,r = -2。
爲了產生2,-4,8,-16,32,輸入:
>>-(-2).^[1:5]
2, -4, 8, -16, 32
可以相應地改變爲5的值。
雖然有更好的方法,正如@lakesh的回答中所述。我會指出你的代碼中的錯誤。
n = n * 2
,它如何成爲一個向量?n=n * 2
,你會產生-2,-4,-8,-16,...因此,正確的代碼應該是:
n = -1
for i = 2:101 % 1 extra term since first term has to be discarded later
n(i) = -n(i-1) * 2;
disp(n)
end
你可以丟棄n
的第一個元素,以獲得所需的確切系列。
n(end)=[];