3

我试图使用 for 循环将一些矩阵分配给一些变量。但我无法意识到。我可能知道我的错误在哪里,但我不知道是否有办法克服它


N = 10;

for i = 1:1:N

    P(i) = [x(i)^2   x(i)*y(i);  
        x(i)*y(i)   y(i)^2];
end 

K = blkdiag(P);

我想为 P(i) 分配一个矩阵,然后使用这些 P(i) 创建一个块对角矩阵。但似乎我不能这样做。还有其他方法可以创建这样的块对角矩阵吗?

4

1 回答 1

5

您可以为此使用元胞数组:

for i = 1:10
    P{i} = [x(i)^2   x(i)*y(i);  
            x(i)*y(i)   y(i)^2];
end
K = blkdiag(P{:});
于 2012-09-26T02:56:25.690 回答