Matlab 如何解A*X-X*A';=0

Matlab 如何解A*X-X*A';=0,matlab,math,linear-algebra,Matlab,Math,Linear Algebra,我有一个形式为A*X=X*A',其中A和X是实方阵(在这种情况下为3x3),A是已知的,A'表示A的转置。如何使用MATLAB求解X?(达到比例因数)我认为Matlab没有符号代数的功能 如果你展开A和X,通过表达式,你会得到一个3x3矩阵,方程中有几个未知数,所有未知数都是零。然后解决这个问题 但我认为Matlab不允许你将矩阵设置为符号,而不是值,并为你展开它。对于这个简单的例子,您可以轻松编写这样一个函数,将字符串矩阵乘以数字矩阵。问题是,如果不使用整个Maple/Mathematica引

我有一个形式为
A*X=X*A'
,其中A和X是实方阵(在这种情况下为3x3),A是已知的,A'表示A的转置。如何使用MATLAB求解X?(达到比例因数)

我认为Matlab没有符号代数的功能

如果你展开A和X,通过表达式,你会得到一个3x3矩阵,方程中有几个未知数,所有未知数都是零。然后解决这个问题

但我认为Matlab不允许你将矩阵设置为符号,而不是值,并为你展开它。对于这个简单的例子,您可以轻松编写这样一个函数,将字符串矩阵乘以数字矩阵。问题是,如果不使用整个Maple/Mathematica引擎,很难将其扩展到一般情况。

这是一个问题。然而,它是奇异的,因为A和A'的特征值相同。但是你可以用公式 [我⊗A-A'⊗一] X(:)=C(:):

现在,解是span{x1,x2,x2},即任何形式的矩阵
b x1+c x2+d x3,其中b,c,d是任何实数

你想为它编写代码还是只是试图解决它?编写代码来解决它我想…谢谢这是一个不错的建议,尽管我希望简单一点:)Matlab应该带有内置的MuPAD符号数学引擎,虽然在早期版本中,您必须将其作为一个单独的程序启动,并且它应该能够象征性地解决给定的方程。@LasseV.Karlsen MuPAD不是内置的,但它是一个单独的工具箱,您必须为其购买许可证。
m=kron(eye(3),a)+kron(-a,eye(3))
v=null(m)
x1=reshape(v(:,1),[3 3])
x2=reshape(v(:,2),[3 3]) 
x3=reshape(v(:,3),[3 3])