如何在matlab中智能地附加向量?

时间:2014-09-20 04:42:27

标签: arrays matlab loops matrix append

我的目标是创建一些具有'n'行向量的矩阵。我已经对此进行了编码,但无法将其表示为行向量矩阵,而是使用包含连接的“n”个子向量的单个向量。我的matlab代码如下:

At=20;
k=0.1;
n=2;
dt=0.005;
A=At;

AA=zeros(length(1,1:dt:30));

for j=1:n
for i=1:dt:(30-dt)

r =rand;

         if (r<(k*At*dt))
             At=At-1;
             A=cat(2,A,At);
         else
             A=cat(2,A,At);  
         end

end
At=20;
end

如何巧妙地做到这一点?

1 个答案:

答案 0 :(得分:1)

我不确定我明白你要做什么,但你可以尝试这样的事情:

for j=1:n
   for i=1:dt:(30-dt)

      r =rand;

      if (r<(k*At*dt))
          At=At-1;
      end
      A(j,i) = At;
   end
   At=20;
end

A应正确初始化(例如A = zeros(n,T))。

BTW:ij是Matlab变量的非常差的选择,因为它们通常代表虚数单位(sqrt(-1)