空山长风 发表于 2007-8-10 14:44

查课本,专门有介绍处理病态矩阵的方法,算法只能自己编了,MATLAB的现成命令不能用

octopussheng 发表于 2007-8-10 16:03

回复 #16 空山长风 的帖子

请推荐几本相关的书籍吧,这方面的书我不了解,谢谢了!

sssssxxxxx921 发表于 2007-8-10 16:41

回复 #16 空山长风 的帖子

查课本?   什么课本, 说说看

sssssxxxxx921 发表于 2007-8-10 20:22

看看吉尔方法
    在科学和工程计算中, 常常会遇到这样一类常微分方程问题, 它可以表示成方程组: , 称其为刚性方程, 其解的分量数量相差很大, 分量的变化速度也相差很大. 如果用常规方法求解, 为了使变量有足够高的精度, 必须取很小的步长, 而为了使慢变分量达到近似的稳态解, 则需要很长的时间, 这样用小步长大时间跨度的计算, 必定造成庞大的计算量, 而且会使误差不断积累. 吉尔法是专门用来求解刚性方程的一种数值方法.

空山长风 发表于 2007-8-11 10:27

我以前参照的是一本动力学数值仿真书,具体名字我也记不清楚了,你的这个问题不是什么问题,做大型计算经常碰到,有很多资料可以查询的

sssssxxxxx921 发表于 2007-8-11 15:19

既然经常遇到   那你说说原因   要不我给你发上去我的程序帮忙看看

好像有点要程序之嫌   不过这个问题实在困惑很久了   呵呵
如果你能说说可能存在的原因   我自己解决最好不过了   谢谢

sssssxxxxx921 发表于 2007-8-11 15:42

本程序是一个转子动力学微分方程的初值状态空间模型求解,
最后正确结果q(1:8)应该在10的-7到-5或-4次之间,
只要前面的结果正确 q(9:16) 结果应该不会错太多的

空山长风 发表于 2007-8-11 17:22

MATLAB的ODE45不能解决刚性问题的,你试试0DE15和ODE15S ODE23tb等函数

如果再不行你就只能自己编程序了
给你推荐基本书:
刚性微分方程的数值方法
刚性大系统数值仿真
刚性微分方程算法理论
动力学系统数字仿真算法

另外期刊网上也有一些解决刚性的论文

给你提2点建议:1 仔细检查一下你所给定的参数是否正确,把你的参数调整一下,不让出现刚度矩阵,看看你的程序是否能出正确结果
                        2查一下类似的相关论文,看看别人给的参数,然后看看是否有刚度

sssssxxxxx921 发表于 2007-8-11 18:16

ODE的算法都试过了   现在就是自己用C++编程用GILL法 也不行,老师的意思还是想让龙格库塔算法或GILL算法来高精度求解   其中的系数我也几乎都变过几个数量级呵呵
学校就有最后一本放假还借不成你有没有电子版本啊

空山长风 发表于 2007-8-11 19:05

吉大ELMO上有一本,在微分方程数值解里面,我不是教育网的,速度慢,你自己去下载吧

sssssxxxxx921 发表于 2007-8-11 21:07

你给的我的数目正确吗   怎么搜索没有找到一本啊另外帮忙看看我的程序有没有本质上的毛病

sssssxxxxx921 发表于 2007-8-11 21:26

刚性微分方程的数值方法   这本书找到了谢谢   吉大这个网站东东可真多啊谢谢了

sssssxxxxx921 发表于 2007-8-11 21:47

不过下下来这本书用超星怎么打不开啊?   双击后它总说得用elmo117629注册,注册那个也不行
怎么打开啊

octopussheng 发表于 2007-8-12 08:55

回复 #28 sssssxxxxx921 的帖子

把你下载的链接给我一个,我也试试吧!

sssssxxxxx921 发表于 2007-8-12 08:59

这是吉大下载的网址:    http://www.elmo.net.cn/   
超星文件得注册什么用户可恶    哈哈
页: 1 [2] 3
查看完整版本: 求教 病态方程的解决方法