我的目标是创建一些具有'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
如何巧妙地做到这一点?
答案 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:i
和j
是Matlab变量的非常差的选择,因为它们通常代表虚数单位(sqrt(-1)
)