声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1297|回复: 3

[编程技巧] 大家看看这个微分方程组该怎么解啊

[复制链接]
发表于 2007-7-13 10:38 | 显示全部楼层 |阅读模式

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

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

x
大家看看这个微分方程组该怎么解, 看看图片
能不能给看看啊 给个例子

[ 本帖最后由 ChaChing 于 2010-6-28 18:33 编辑 ]
sa.jpg
回复
分享到:

使用道具 举报

发表于 2007-7-14 07:51 | 显示全部楼层
时间标度里面的omiga多少?
发表于 2007-7-14 08:26 | 显示全部楼层
bainhomeRe:[呼吁]:常微分,偏微分方程的数值解法高手请参与本贴的讨论,谢谢!
正餐第三道:四阶runge-kutta法程序
function fun_ode_runge_kutta_4
%建立三阶runge-kutta公式,使用其中的一个特例
xn=0:.1:1;
y0=1;
y_n=[];
for i=1:length(xn)-1
    K1=y0-2*xn(i)/y0;
    K2=y0+.5*diff(xn([1:2]))*K1-2*(xn(i)+.5*diff(xn([1:2])))/(y0+.5*diff(xn([1:2]))*K1);
    K3=y0+.5*diff(xn([1:2]))*K2-2*(xn(i)+.5*diff(xn([1:2])))/(y0+.5*diff(xn([1:2]))*K2);
    K4=y0+diff(xn([1:2]))*K3-(2*xn(i)+2*diff(xn([1:2])))/(y0+diff(xn([1:2]))*K3);
    y_n=[y_n;y0+1/6*diff(xn([1:2]))*(K1+2*K2+2*K3+K4)];
    y0=y_n(end);
end
%精确的解析解
dy=dsolve('Dy=y-2*x/y','y(0)=1','x');
y_exact=subs(dy,'x',{.1:.1:1});
% 精度比较
y_compare=[y_n';y_exact];
y_compare_minor=[y_compare(2,:)-y_compare(1,:)];
var_y=var(y_compare_minor');

这个例子引自仿真论坛,希望对你有有帮助。关键是需要自己看书搞清楚原理,matlab实现起来就没多难了,好多书上有介绍。
 楼主| 发表于 2007-7-17 15:14 | 显示全部楼层
不是怎么明白 我再看看吧谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 04:28 , Processed in 0.070233 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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