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)=[];