作为标题,我写这些代码:
for n=1:2:10
a(n)=2^n;
end
disp(a)
我想得到答案
a = 2 8 32 128 512
但是命令窗口中的输出是
a = 2 0 8 0 32 0 128 0 512
这四个0是多余的,如何消除这四个0?
a = [];
for n=1:2:10
a(end+1) = 2^n;
end
for n=1:2:10
a(n)=2^n;
end
a = a(a>0);
for n=1:2:10
if mod(n,2)==1
a((n+1)/2) = 2^n;
end
end
0
填补空白:因此您可以使用索引end+1
:
a = [];
for n=1:2:10
a(end+1)=2^n;
end
[end
表示最后一个数组索引,因此end+1
在您的数组中创建一个新条目。但是对于简单的事情,当然可以更容易地对过程进行矢量化:
a = 2.^(1:2:10)
其中.^
是元素智能运算符。