Matlab 求解矩阵方程: 具体方程是:DU=UA D、U和A都是6*6的矩阵,求U,用Matlab怎么算啊?求大神指教~~~

如题所述

像这样的方程,如果有唯一解,就应该是U=0。
我采用的做法是,把U写成36x1的向量,把矩阵方程改写成B*U=0的形式,其中B为36x36矩阵,由D和A生成。

% 生成测试数据
n = 6;
D = rand(n, n);
A = rand(n, n);

% 构造系数矩阵
n2 = n * n;
M = zeros(n2, n2);
for i = 1 : n
M( (i-1)*n+(1:n),(i-1)*n+(1:n) ) = D;
end
N = zeros(n2, n2);
for i = 1 : n
for j = 1 : n
N( (i-1)*n+j, j:n:end) = A(:,i).';
end
end

% 解方程
U = reshape( (M-N)\zeros(n2,1), [n n])
温馨提示:答案为网友推荐,仅供参考
相似回答