【发布时间】:2017-09-19 15:50:01
【问题描述】:
我有一个 1000 次迭代的“for 循环”,它的输出是一个 2*2 矩阵。所以,我的问题是“如何将所有迭代的输出存储为对角(或块对角)矩阵?”
X_t=[0 0.0016 0 0 -0.0015 0;0 0.0005 0 0 -0.0010 0];
X=[0 2 0 0 -1 0;0 0.5 0 0 -0.01 0];
ar = linspace(1e-3,1e2,1000);
w = 1i*ar;
M = zeros(2*numel(w));
for k=1:numel(w)
P=[(10*exp(-w(k)))/(12*w(k)+1) (-8*exp(-3*w(k)))/(7*w(k)+1);
(5*exp(-8*w(k)))/(9*w(k)+1) (-17*exp(-4*w(k)))/(12*w(k)+1)];
W=[1 0;1/w(k) 0;w(k)/(1+0.3*w(k)) 0;0 1;0 1/w(k);0 w(k)/(1+0.3*w(k))];
Z=eye(2)+(X*W)*P;
Y=((1.4)^2)*eye(2);
Z_t=eye(2)+(X_t*W)*P;
index = 2*k + [-1 0];
M(index, index)=(Z'*Z_t)-(Y'*Y);
end
【问题讨论】:
标签: matlab