24小时热门版块排行榜    

查看: 4154  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

微尘、梦想

木虫 (知名作家)

[求助] 隐式欧拉法求解一阶常微分方程

算法:


MATLAB程序:
CODE:
Format long;
N=(b-a)/h;
y=zeros(N+1,1);
y(1)=y0;
x=a:h:b;
var=findsym(f);
for i=2:N+1
   fx=Funval(f,var(1),x(i));
   gx=y(i-1)+h*fx-varvec(2);
   y(i)=NewtonRoot(gx,-10,10,eps);%用牛顿法得出下步的迭代值
end
format short;

其中,Funval是求函数f在点(var(1),x(i))处的值

PS:显示法求解常微分方程的算法都用C语言实现,但隐式法不知道怎么实现,主要是不知道如何求后一个点的导数值,希望高人给指点一下,呵呵……
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

任风云变幻,我笑对人生!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

引用回帖:
6楼: Originally posted by sudo at 2012-02-23 15:41:38:
如果它的方法要通用的话,在NewtonRoot还必须对gx进行一次符号求导(用diff函数),所以这个方法其实比较蛋疼

还不如直接用前向欧拉给估计了...

嗯,我也就是想把它搞明白它到底是如何工作的,解常微分方程的显示解法,我都搞明白了,从最简单的欧拉法到四阶龙格-库塔法,不过我在网上找到一篇关于算法分析的文章,结论是隐式算法的稳定性普遍比显式算法高,且只有隐式欧拉方法才是绝对稳定的。
也没仔细看,反正用四阶龙格-库塔法的精度已经非常高了,呵呵……
这是文章的地址:
http://wenku.baidu.com/view/8bcb52492e3f5727a4e96207.html
任风云变幻,我笑对人生!
7楼2012-02-23 16:50:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

sudo

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
余泽成(金币+1): 谢谢参与应助! 2012-02-25 04:34:01
微尘、梦想(金币+30): ★★★★★最佳答案 谢谢,sudo教会了我很多东西呀,呵呵…… 2012-02-27 13:57:13
隐式欧拉法迭代式右边f(x[n+1], y[n+1])里面的y[n+1],其实也只是用估计的方法得出来的

一般可以用欧拉法(或者牛顿法和其他别的什么方法)得到它的估计值,所以这个过程实际上是:
CODE:
yt[n+1] = y[n] + h * f(x[n], y[n]);
y[n+1] = y[n] + h * f(x[n+1], yt[n+1]);

梯形法什么的类似,迭代式中f里面的y[n+1],无论怎样都是需要某种方法先估计出来的
2楼2012-02-23 13:25:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

恩,如果不要求通用的方法,只需要针对特定函数的话,也可以先化简迭代式,或者可能可以直接导出y[n+1]的公式什么的~
3楼2012-02-23 13:29:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

引用回帖:
3楼: Originally posted by sudo at 2012-02-23 13:29:11:
恩,如果不要求通用的方法,只需要针对特定函数的话,也可以先化简迭代式,或者可能可以直接导出y[n+1]的公式什么的~

那个MATLAB程序就是用牛顿法得到的下一个值,不过,不知道牛顿法的算法是什么呀,我只知道用牛顿法解方程的公式:
x[n+1]=x[n]-f(x[n])/f`(x[n])
这是一种切线法,从一端向一个方向逼近方程的根,可是跟这个联系不到一块呀
任风云变幻,我笑对人生!
4楼2012-02-23 13:38:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856调剂 +7 刘梦微 2026-02-28 7/350 2026-03-02 14:11 by liyongv
[考研] 282求调剂 +4 2103240126 2026-03-02 5/250 2026-03-02 13:45 by littlehu66
[考研] 26考研报考西工大材料308分求调剂 +4 weizhong123 2026-03-01 4/200 2026-03-02 12:46 by 无际的草原
[基金申请] 面上模板改不了页边距吧? +6 ieewxg 2026-02-25 7/350 2026-03-02 12:44 by stidwellNK
[基金申请] 此成果不能导入原因:元数据必填信息不完整,可 进行补充。 +4 Kittylucky 2026-03-02 5/250 2026-03-02 11:07 by jurkat.1640
[考研] 材料工程专硕283求调剂 5+4 ,!? 2026-03-02 6/300 2026-03-02 11:07 by 黑!在干嘛
[考研] 求调剂 +8 yunziaaaaa 2026-03-01 9/450 2026-03-02 11:03 by 黑!在干嘛
[考研] 0856材料与化工,270求调剂 +8 YXCT 2026-03-01 9/450 2026-03-02 11:01 by 无际的草原
[考研] 274求调剂 +3 cgyzqwn 2026-03-01 7/350 2026-03-02 10:38 by lature00
[考研] 275求调剂 +3 L-xin? 2026-03-01 6/300 2026-03-02 10:22 by 热情沙漠
[考研] 0856材料调剂 +4 沿岸有贝壳OUC 2026-03-02 4/200 2026-03-02 10:19 by 公瑾逍遥
[考研] 0856材料求调剂 +11 hyf hyf hyf 2026-02-28 12/600 2026-03-01 18:57 by 18137688336
[考博] 26申博 +4 想申博! 2026-02-26 6/300 2026-03-01 17:32 by 想申博!
[考研] 285求调剂 +8 满头大汗的学生 2026-02-28 8/400 2026-03-01 16:47 by caszguilin
[基金申请] 刚录用,没有期刊号,但是在线可看的论文可以放为代表作吗 10+3 arang1 2026-03-01 3/150 2026-03-01 16:43 by babero
[考研] 304求调剂 +6 曼殊2266 2026-02-28 7/350 2026-03-01 15:14 by wjLi2017
[考研] 课题组接收材料类调剂研究生 +3 gaoxiaoniuma 2026-02-28 4/200 2026-03-01 14:30 by jjj三跨
[考研] 302材料工程求调剂 +4 Doleres 2026-03-01 5/250 2026-03-01 11:52 by liqiongjy
[考研] 调剂 +3 简木ChuFront 2026-02-28 3/150 2026-03-01 11:46 by 王伟要上岸啊
[考研] 寻找调剂 +4 LYidhsjabdj 2026-02-28 4/200 2026-03-01 10:56 by sunny81
信息提示
请填处理意见