【发布时间】:2021-10-28 19:02:16
【问题描述】:
我正在尝试在 Matlab 中实现一个名为 Gamma 的矩阵。它将包括称为 H 的较小矩阵,如下图所示
我在 Matlab 中实现这一点时遇到了麻烦。
我所做的如下:
我创建了一个名为
的函数function [Gamma] = get_Gamma(N,A,B,Cz)
然后我创建 H 矩阵
for i=1:N
H(:,:,i) = Cz*Ad^(i-1)*Bd;
end
Hn = size(H,1);
Hm = size(H,2);
我的问题是如何进行迭代:
Gamma = [H(:,:,1) zeros(2,2) zeros(2,2)]
Gamma = [Gamma ; H(:,:,2) H(:,:,1) zeros(2,2)]
Gamma = [Gamma ; H(:,:,3) H(:,:,2) H(:,:,1)]
我一直在尝试做这样的事情
Gamma = [];
counter = 1;
for i=1:N
for j=1:N
if i <= counter
Gamma_update = H(:,:,j);
Gamma = [Gamma Gamma_update];
else
Gamma_update = zeros(Hn,Hm);
Gamma = [Gamma Gamma_update];
end
Gamma = [Gamma ; H(:,:,2) H(:,:,1) zeros(2,2)]
end
end
但我知道这行不通。我希望你能帮我解决这个问题!
【问题讨论】: