最小多项式的系数怎么走吗?
2视图(30天)
显示旧的评论
亲爱的所有,
我必须找到所有的矩阵的最小多项式的系数存储在一个三维数组。我曾经尝试过通过MuPAD但我得到整个多项式,如果有人知道如何提取只能从它的系数(即。从多项式MuPAD),然后将这些数据存储在一个向量在matlab,或如果任何函数只在matlab可以给最小多项式的系数。
这是mupad的代码:
nb = mupad;
= Dom::矩阵(Dom:理性的)([[1,1,1],[1、2、1],[0,1,3]]);
删除x: linalg::冲走(A, x)
这使给定矩阵的最小多项式在“x”。(我要做三维数组的矩阵)。
如果有人知道一些其他的方法也会很有帮助。
需要紧急帮助! !
谢谢你,Palash。
0评论
接受的答案
Kai Gehrs
2011年6月22日
嗨Palash,
我认为下面的MATLAB函数可以做这项工作对于你的问题:
函数p =冲走(A)
p = evalin (symengine [“地图(poly2list (linalg::冲走('char(信谊(A))”,x)), c - > c [1]) ']);
结束
如果你在MATLAB添加到您的路径,然后通过:你可以称之为
> > = [1 1 1;1 2 1;0 1 3];%最小多项式是x ^ 3 + 4 * x ^ 2 + x - 1
> >冲走(A)
ans =
(1,4,1,1)
希望这个有帮助。内部MuPAD函数poly2list多项式转换为一个嵌套列表包含信息多项式的系数表示。
最好的问候,
——凯
0评论
更多的答案(3)
Pantelis Sopasakis
2011年11月9日
只是我两美分…Kai Gehrs发布的代码不工作如果返回的多项式有一些零系数。尝试例如矩阵:
一个= 1 (3、3);
输出将
3 [1]
而不是
(1 3 0)