我试图使用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)来创建块对角矩阵。 但似乎我不能这样做。有没有其他方法可以创建这样的块对角矩阵?
答案 0 :(得分: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{:});