关于matlab的同一程序在不同电脑上运行结果不同的问题

首先都是用正版,并且程序代码都一样。
代码如下,是求矩阵特征值和特征向量的一个代码。
A=[1,2,8;1/2,1,4;1/8,1/4,1]
eigenvalue=diag(y)
lamda=eigenvalue(1)
y_lamda=x(:,1)
同学都算出来特征值是3,我算出来是个负数。

img


下面还有几张是同学算出来的

img

你好同学,你的其他同学用了sort函数,把特征值和特征向量都排序了:

A=[1,2,8;1/2,1,4;1/8,1/4,1]
[x,y] = eig(A);
[eigenvalue,idx] = sort(diag(y), 'descend');%idx是新的排序顺序,从大到小
eigenvector = x(:,idx);
lamda=eigenvalue(1)
y_lamda=eigenvector(:,1)

结果:

lamda =

    3.0000


y_lamda =

    0.8889
    0.4444
    0.1111

如有帮助还望题主给个采纳支持一下答主答题呢,谢谢啦(づ ̄3 ̄)づ╭❤~