MATLAb中for循环中的零数组

时间:2014-01-12 19:58:25

标签: arrays matlab

我有一个零的数组,其定义如下:

a=zeros(1,N)

现在,在for循环中,我需要将此数组的第j个元素设为1,并将n-1个其他元素设为零,我应该怎么做? 感谢。

2 个答案:

答案 0 :(得分:1)

一种可能性:

for jj = 1:N
    a = [zeros(1,jj-1) 1 zeros(1,N-jj)];
    %// do stuff
end

另一种方法:

for a = eye(N)
    a = a.';
    %'// do stuff
end

答案 1 :(得分:1)

最简单的就是使用 a(1,j)=1 只会将第j个元素更改为1.如果要将0重新分配给a的其他成员,如果之前已更改,则可以使用 a(1,1:j-1)=0 a(1,j+1:length(a)) 将a的所有非第j项设置为0。 如果您向我们提供了您想要使用的更清楚的描述,我们可以帮助您更好:)