如何为变量分配矩阵?变量可以是矩阵变量吗?

use*_*906 3 matlab

我试图使用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);
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*igt 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{:});
Run Code Online (Sandbox Code Playgroud)