matlab中eig函数是怎么编写的
时间: 2024-01-21 15:01:55 浏览: 149
`eig` 函数是 MATLAB 中内置的函数,是通过调用 LAPACK 中的 DGEEV 或 ZGEEV 子程序来实现的。这些子程序是用 FORTRAN 语言编写的,因此 `eig` 函数的实现也是通过 MATLAB 的 MEX 接口调用 FORTRAN 子程序来实现的。
DGEEV 子程序用于计算实对称矩阵的特征值和特征向量,而 ZGEEV 子程序则用于计算复数域上的特征值和特征向量。在 MATLAB 中,`eig` 函数可以处理实矩阵和复矩阵,因此在实现时需要进行分类讨论。
具体实现过程可以参考 MATLAB 官方文档中的描述:[How MATLAB Calculates Eigenvalues and Eigenvectors](https://www.mathworks.com/help/matlab/math/how-matlab-calculates-eigenvalues-and-eigenvectors.html)。
相关问题
matlab中的eig函数与C++中eig函数算出来的特征向量不一样
MATLAB中的eig函数和C++中的eig函数都是用于计算矩阵的特征值和特征向量。但是,在使用不同的编程语言时,由于计算机的计算精度、计算方式等方面的差异,可能会导致结果不同。此外,MATLAB中的eig函数默认返回的是归一化的特征向量,而C++中的eig函数默认返回的是非归一化的特征向量。因此,如果你需要比较两个函数的结果,需要进行一些额外的处理,如对特征向量进行归一化。
阅读全文
相关推荐
















