在Matlab整数特征值

13个视图(30天)
我Zain
我Zain 2021年10月15日
评论道: 沃尔特·罗伯森 2021年10月15日
我想写一个Matlab程序决定如果给定(整数)矩阵整数特征值,在这种情况下计算特征值及其多样性 任何想法如何开始?

答案(3)

Bjorn Gustavsson
Bjorn Gustavsson 2021年10月15日
因为你有一个矩阵,然后希望特征值最好的方法似乎是计算特征值。的使用 eig 功能,请参阅相应的帮助和文档。对于简单的提取特征值的对角eigenvalue-matrix如果你也问的eigenvector-matrix看看帮助和文档 诊断接头 。然后你只需要检查是否返回的特征值是整数。
HTH
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年10月15日
似乎是评估它是否要求 可以 先整型特征值,只有实际计算特征值,如果事实证明他们是可能的。

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2021年10月15日
的符号行列式(矩阵-λ)。要求因素()。寻找表单的条目(λ+ / -整数)
如果你不允许直接系数多项式,然后做长除法λ- x,这将给你一个序列的条件。但每一个条款必须是整数,所以你可以开始使用欧几里德算法或相对来构造整数的条款可以持有(挥舞着双手模糊。)

保罗
保罗 2021年10月15日
Asusming“给定(整数)矩阵”意味着你知道的元素的值,那么你可以使用eig矩阵的符号形式:
M =符号([8 1;6、3]);
e = eig (M)
e =
总((e,“整数”))%检查以防并不明显的解决方案。
ans =2×1逻辑数组
1
M =符号([148544940,148544940,148544940,-3212785;
1508678,105952055,20746052,8186704,
616678,-35314190,162859163,9445151;
5802184,13354270,-16966896,-16966896]);
e = eig (M)
e =
总((e,“整数”))
ans =4×1逻辑数组
1 1 1 1
我不确定这是“编写一个程序。”If not, you could use it to compare to what you do write. I don't know how big symbolic M can get before eig() starts having trouble. i tested a 7 x 7 and it was no problem.

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!