1

MATLABで次の行列を簡単に作成するにはどうすればよいですか?

A (nxn)、B (nxp)、および N は正の整数です。

Gamma = [B         0         0         ...   0 ; 
         A*B       B         0         ...   0 ; 
         A^2*B     A*B       B         ...   0 ; 
         ...       ...       ...       ... ... ; 
         A^(N-1)*B A^(N-2)*B A^(N-3)*B ...   B];
4

2 に答える 2

3

どうですか

[g{1:N,1:N}] = deal( zeros(n,p) );
g{1,1} = B;
for ii = 2:N
    g( ii, 2:end ) = g( ii-1, 1:end-1 );
    g{ ii, 1 } = A * g{ ii-1, 1 };
end
Gamma = cell2mat( g );
于 2013-04-14T12:36:25.670 に答える