声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1672|回复: 8

[编程技巧] [求助]有谁懂龙格-库塔法求解微分方程

[复制链接]
发表于 2006-6-23 09:25 | 显示全部楼层 |阅读模式

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

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

x
龙格-库塔法求解的都是1阶微分方程,如何求2阶微分方程??希望大虾来帮忙
回复
分享到:

使用道具 举报

发表于 2006-6-23 09:45 | 显示全部楼层

回复:(fandalei)[求助]有谁懂龙格-库塔法求解微分方...

<P>变换到状态空间方程就可以从二阶的变成一阶的,然后用ode45求解就行了</P>
发表于 2006-6-23 09:52 | 显示全部楼层
<P>龙格-库塔法:实际上取两点斜率<BR>的平均 斜率来计算的,其精度高<BR>于欧拉算法 。<BR>龙格-库塔法:ode23    ode45</P>
<P><BR>建立m文件<BR>function xdot=wf(t,x)<BR>xdot=zeros(2,1)<BR>xdot(1)=x(2)<BR>xdot(2)=x(2)*(1-x(1)^2)-x(1)<BR>给定区间、初始值;求解微分方程<BR>t0=0; tf=20; x0=[0 0.25]';<BR>[t,x]=ode23('wf', t0, tf, x0)<BR>plot(t,x), figure(2),plot(x(:,1),x(:,2))</P>
<P>命令格式:<BR>[T,Y] = ODE23(ODEFUN,TSPAN,Y0)<BR>建立m文件<BR>function dxdt=wf(t,x)<BR>dxdt=[x(2);x(2)*(1-x(1)^2)-x(1)];<BR>求解微分方程<BR>[t,x]=ode23(@wf,[0 30],[0 0.25]);<BR>plot(t,x);<BR>figure(2)<BR>plot(x(:,1),x(:,2))</P>
 楼主| 发表于 2006-6-23 10:13 | 显示全部楼层
happy老师,如何将2阶微分方程转换成状态空间方程,能否举个例子,先谢谢了
发表于 2006-6-23 21:13 | 显示全部楼层

回复:(fandalei)[求助]有谁懂龙格-库塔法求解微分方...

假设二阶微分方程为<BR><BR>x"+ax'+bx=f(t)<BR><BR>你可以假设<BR>y1=x<BR>y2=x'<BR>将上述两式代入可得:<BR><BR>y1'=y2<BR>y2'=f(t)-by1-ay2<BR>这样方程就转化成1阶的微分方程组了
发表于 2006-6-23 21:42 | 显示全部楼层
学习了!
 楼主| 发表于 2006-6-24 00:41 | 显示全部楼层
晚上终于搞懂了,多谢happy老师了.

现在关键问题是如何实现了

有谁有这方面的资料,可以传上来看看

[ 本帖最后由 mjhzhjg 于 2007-5-18 13:58 编辑 ]
发表于 2006-6-26 07:21 | 显示全部楼层
呵呵,那问题真正解决了么
 楼主| 发表于 2006-6-26 08:20 | 显示全部楼层
<P>只是知道如何把2阶微分方程转化成1阶微分方程了</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-25 11:23 , Processed in 0.053653 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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