声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2425|回复: 15

[编程技巧] 请教以下微分方程组的求解问题

[复制链接]
发表于 2008-4-23 18:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求大家帮我看看这个方程组吧!

[ 本帖最后由 eight 于 2008-4-28 18:55 编辑 ]
ddd副本.jpg
回复
分享到:

使用道具 举报

发表于 2008-4-23 18:17 | 显示全部楼层

回复 楼主 的帖子

请搜索论坛 关键字: 微分方程

[ 本帖最后由 sigma665 于 2008-4-25 12:46 编辑 ]
 楼主| 发表于 2008-4-23 18:42 | 显示全部楼层
没有会的吗?      ...........
发表于 2008-4-23 20:28 | 显示全部楼层
此问题,参见命令bvp4c。matlab公司已经出了bvp6c,可以从网站下载相应的函数包

评分

1

查看全部评分

发表于 2008-4-24 15:37 | 显示全部楼层
我看了一下,好像缺少一些东西吧,具体题目是做什么的?
 楼主| 发表于 2008-4-25 11:52 | 显示全部楼层
做的是传热问题的,条件应该不会少吧.
发表于 2008-4-25 12:36 | 显示全部楼层


有条件的话,你可以看看《MATALB原理与工程应用(第二版)》这本书,书上有不少关于求解常微分方程的例子。你的题目是在什么地方看到的,有没有对问题的文字叙述?
 楼主| 发表于 2008-4-25 14:36 | 显示全部楼层
这是我们毕业设计我做的题,这个方程简化了很多的,不然的话还要加上二个方程的,是多孔介质燃烧器的能量守恒方程
发表于 2008-4-25 16:26 | 显示全部楼层
不知理解对否?
这道微分方程组题与一般相比,不同之处是初值不是同时知道,及x=0时y2, y3已知,y1,y4未知;而x=3时,y1, y4已知,y2, y3未知,不能按一般的初值微分方程求解。参照帖子:用1stOpt求解常微分方程及方程组(http://forum.vibunion.com/forum/thread-61555-1-1.html),试着用1stOpt求解:
Constant y2_1=0, y3_1=20, y1=0, y4=0, dx=0.1;
Parameter y1_1, y4_1;
PassParameter Out_x(0:30), Out_11(0:30), Out_22(0:30), Out_33(0:30), Out_44(0:30);
Plot Out_x[x], Out_11, Out_22, Out_33, Out_44;
Minimum;
StartProgram [Pascal];
Procedure MainModel;
var i: integer;
    y1_2, y2_2, y3_2, y4_2: double;
    y11, y21, y31, y41: double;
begin
    y11:=y1_1;
    y21:=y2_1;
    y31:=y3_1;
    y41:=y4_1;
    Out_x[0] := 0;
    Out_11[0] := y11;
    Out_22[0] := y21;
    Out_33[0] := y31;
    Out_44[0] := y41;
    for i := 0 to 29 do begin
        y1_2:=y11+y21*dx;
        y2_2:=y21+20*(y31-y11)*dx;
        y3_2:=y31+y41*dx;
        y4_2:=y41+(8.4+2+8*(y31-y11))*dx;
        y11:=y1_2;
        y21:=y2_2;
        y31:=y3_2;
        y41:=y4_2;
        Out_x[i+1] := dx*(i+1);
        Out_11[i+1] := y11;
        Out_22[i+1] := y21;
        Out_33[i+1] := y31;
        Out_44[i+1] := y41;
    end;
    functionResult := sqr(y1_2-y1)+sqr(y4_2-y4);
end;
EndProgram;
结果:
x y1 y2 y3 y4
0 20.4612109325425 0 20 -12.9637651392588
.1 20.4612109325425 -.922421865085013 18.7036234860741 -12.2927338852929
.2 20.368968746034 -4.4375967580218 17.4743500975448 -12.6588038424676
.3 19.9252090702318 -10.2268340550002 16.2084697132981 -13.9344987612589
.4 18.9025256647318 -17.6603127688677 14.8150198371722 -15.8678902468059
.5 17.136494387845 -25.8353244239869 13.2282308124916 -18.0978949088536
.6 14.5529619454464 -33.6518515746938 11.4184413216062 -20.1845057691364
.7 11.187776787977 -39.9208928223741 9.39999074469259 -21.6521222682085
.8 7.19568750573956 -43.4964649089428 7.23477851787174 -22.042351102836
.9 2.84604101484528 -43.4182828846785 5.03054340758815 -20.9710782931302
1 -1.49578727362257 -39.0492780991927 2.93343557827512 -18.1834763789359
1.1 -5.40071508354184 -30.1908323953974 1.11508794038153 -13.6000980974178
1.2 -8.41979832308158 -17.1592263475506 -.244921869360252 -7.3474556782791
1.3 -10.1357209578366 -.809473440107978 -.979667437188162 .23244548469796
1.4 -10.2166683018474 17.502633601189 -.956422888718366 8.59728830121674
1.5 -8.46640494172854 36.0231244274471 -9.66940585966919E-02 17.04548463172
1.6 -4.86409249898383 52.7625461937108 1.60785440457531 24.7812533382255
1.7 .412162120387253 65.7064400008291 4.08597973839786 30.9988108610728
1.8 6.98280612047016 73.0540752368503 7.18586082450513 34.9778649554813
1.9 14.2882136441552 73.4601846449202 10.6836473200533 36.1803087187092
2 21.6342321086472 66.2510519967164 14.3016781919242 34.3366556594277
2.1 28.2593373083188 51.5859441632703 17.735343757867 29.5106125260493
2.2 33.4179317246459 30.5379570623665 20.6864050104719 22.1314176856878
2.3 36.4717274308825 5.07490363401854 22.8995467790407 12.9861963143486
2.4 36.9792177942844 -22.0694576696652 24.1981664104755 3.16845179287506
2.5 34.7722720273179 -47.631560437283 24.515011589763 -6.01638931417204
2.6 30.0091159835896 -68.1460813123927 23.9133726583458 -13.1821976642159
2.7 23.1945078523503 -80.3375679628802 22.5951528919242 -17.0187923244109
2.8 15.1607510560623 -81.5362778837324 20.8932736594831 -16.4582762927518
2.9 7.00712326768905 -70.0712326768907 19.247446030208 -10.8322582100151
3 -1.59872115546023E-14 -45.5905871518529 18.1642202092064 -1.27849120179491E-15
如果把步长dx变小,计算部分再运用龙格库塔法,精度会提高不少。
sde.jpg

评分

1

查看全部评分

 楼主| 发表于 2008-4-25 22:26 | 显示全部楼层
这就是我运行的代码,但就是出这个错误啊,太郁闷了
pp.jpg
发表于 2008-4-25 23:20 | 显示全部楼层
如果用的是1.5 PJ版,这种编程模式是无法运行的。在2.5版本下可正常运行。
发表于 2008-4-26 01:48 | 显示全部楼层
他给的方程根本都不对,你竟然能得出答案来~
   

原帖由 dingd 于 2008-4-25 16:26 发表
不知理解对否?
这道微分方程组题与一般相比,不同之处是初值不是同时知道,及x=0时y2, y3已知,y1,y4未知;而x=3时,y1, y4已知,y2, y3未知,不能按一般的初值微分方程求解。参照帖子:用1stOpt求解常微分方程及方 ...
 楼主| 发表于 2008-4-26 11:52 | 显示全部楼层
方程应该没问题的吧      .....
发表于 2008-4-26 20:52 | 显示全部楼层
方程没错,典型的双边界约束情况。4个边界约束条件就够了。解决此问题大多数人采用打靶法,但matlab采用了bvp4c,算法为自适应的,优于普通方法,而且操作简单,给出估算初值即可。先安心阅读bvp4c的help文档,不需要更多的东西,先自己学学。

评分

1

查看全部评分

 楼主| 发表于 2008-4-26 22:33 | 显示全部楼层
其实本来方程原来是六维的,我省略了二个,如果是六个方程组的怎么解呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 05:34 , Processed in 0.078437 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表