矩阵的特征值问题
请问各位大神,矩阵的特征值问题用MATLAB的eig函数能不能全部搞定?为什么我看有的博士论文(齿轮系统动力学方面的论文)还有专门讲解如何求解矩阵特征值的问题呢?用MATLAB的eig函数能全部搞定的,只是不能掌握计算精度,而自己编程算可以完全控制所需的精度,不过需要较深的数值计算和编程的知识。 dgyezw007 发表于 2013-7-7 19:01 static/image/common/back.gif
用MATLAB的eig函数能全部搞定的,只是不能掌握计算精度,而自己编程算可以完全控制所需的精度,不过需要较深 ...
能不能再介绍一下,比如eig()函数的实用性;谢谢。
最近我也遇到这个问题了;我都不知道该相信Nastran还是Matlab了。
或许你是对的,需要自己编程。
补充内容 (2015-12-24 18:29):
eig内部的运算相当复杂;可能会对矩阵预处理一下,最后大抵用QR和QZ算法;而eigs函数会调用隐式重启动的Lanczos算法。 关于eig()函数的详细介绍,可以参考帮助文件,eig函数只能选用Cholesky或QZ法来解。
你用Nastran算的应该是结构模态吧,是用有限元算的,系统模型本质是无限自由度的(当然有限元前处理将其离散化,但自由度数量一般都是很大的);而Matlab的eig函数是算集中参数模型的,一般自由度数量不会很大。如果你能得到有限元前处理后的总体质量矩阵和总体刚度矩阵,直接用eig函数应该也是可以的。
自己编程主要还是考虑计算精度和计算效率问题,例如通用的有限元程序(Abaqus,Nastran)可能对某些特定问题不是很有效,这时才考虑自己编程采用特殊的数值算法计算。 help eig
页:
[1]