求问子空间迭代法及其程序?
最近在求解特征值问题,在用matlab的eig函数求解时发现求解特征值时对于大的矩阵求解的值很多,解很是不精确。在相关书中看到有关于大型问题的特征值求解问题,有用子空间迭代法和lanczos方法。不知哪位用有相关这些程序的源程序,或是有其他好办法指点,谢谢了。 这个问题我以前作过一段时间,最后还是用eig函数,矩阵大了以后自然会产生病态的问题,这个时候无论你用那种算法计算的结果都不会理想.这是因为你的矩阵对一点小的扰动太敏感,但你不能把责任归结在eig计算不准.计算特征值的误差是由于敏感性造成的,而非eig的错误.也就是说你要改造你的矩阵使它的病态性质减少,这个是根本.举个例子:如果把你的矩阵比做一个不喜欢学习但想取得好成绩的的学生,把各种论坛比做各种计算方法,把振动联盟比做eig函数,那他不管到哪个论坛发帖子都不会很快取得好成绩.你把eig的帮助再看一下,很有帮助.回复 2楼 的帖子
谢谢你的建议,我试试看吧。谢谢了 我不同意 你们的看法 主要 你们对 MATLAB 的依赖 太大.自己动手做函数 .结果要比靠MATLAB 好的多..
建议用 lanczos方法 ... 原帖由 lq12131010 于 2008-4-18 16:40 发表 http://www.chinavib.com/forum/images/common/back.gif
我不同意 你们的看法 主要 你们对 MATLAB 的依赖 太大.
自己动手做函数 .结果要比靠MATLAB 好的多..
建议用 lanczos方法 ...
Patran里面计算特征值好像一般情况就是基于lanczos方法,那你比较过自己做的函数与matlab的误差呀?给大家介绍你一下你的经验吧。 王勖成《有限单元法》中有,张汝清的书里也有 原帖由 laneliu 于 2008-4-19 11:38 发表 http://www.chinavib.com/forum/images/common/back.gif
王勖成《有限单元法》中有,张汝清的书里也有
呵呵,我不是要看这个算法的程序,我主要想听听楼上的高手对各种类型的矩阵的处理方法,不同的矩阵用那种算法好,到底和matlab自身的计算结果比较过没有,这个很有意义 我的计算精度比 ANYSIS 很多..时间多一些..没和MATLAB 比较.. 我这几天和友人出去游玩了...
回的晚一点 对不起啊
我主要是看 James Baglama的论文 并进行一些改进..结果很好.. 补充 我 lanczos 函数 的条件数 >100000
都算的很好.. 原帖由 lq12131010 于 2008-4-20 18:45 发表 http://www.chinavib.com/forum/images/common/back.gif
补充 我 lanczos 函数 的条件数 >100000
都算的很好..
条件数这样大还能算出好的结果,真是振奋人心阿,你计算的矩阵是那种类型的,看来以后也要换个算法试试了 有限元 导出矩阵
以及一些 老板给我下载的变态矩阵考题.
但是前提都是对称正定的.
都是很快 很OK. 原帖由 lq12131010 于 2008-4-21 07:49 发表 http://www.chinavib.com/forum/images/common/back.gif
有限元 导出矩阵
以及一些 老板给我下载的变态矩阵考题.
但是前提都是对称正定的.
都是很快 很OK.
lq12131010真是强人,对称正定阵能算的这样好也很不简单,如果是非对称阵并且条件数比较大的话一般要如何处理呢? 建议arnoldi算法...... lq12131010 发表于 2008-4-20 18:45 static/image/common/back.gif
补充 我 lanczos 函数 的条件数 >100000
都算的很好..
分享一下呗。
任兴民的书里提到了,迭代的特征向量要稍作“小心的”正交化处理,还不太懂这一步要怎么个“小心法”。
页:
[1]
2