声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2809|回复: 6

[近似分析] 求教龙格库塔法解微分方程

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

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

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

x
有没有谁会编个二阶用龙格库塔法解非线性微分方程的程序给我看看,用matlab语言的,方程是
          xdot(2)=(-(1/tau1+K*tau2*(cosx(1))/tau1)*x(2)-K*(sinx(1))/tau1+Deltaomegao/tau1);
         xdot(1)=x(2);
其中xdot(1)就是x1求一阶导,xdot(2)就是x2求一阶导,Deltaomegao,tau1,tau2,K是要给定初值的常量
我把其中的cosx(1),sinx(1)用泰勒公式展开了前三项然后用ode45编了程序,但是老师说这样不精确,也不专业,要我用龙格库塔法,不会,所以请大家帮帮忙,看看怎么改。
本人的程序如下:
function xdot=TwoPLL2(t,x,dummy,tau1,tau2,K,Deltaomegao)
         xdot=zeros(2,1);
         xdot(2)=(-(1/tau1+K*tau2*(1-x(1)^2/2+x(1)^4/24)/tau1)*x(2)-K*(x(1)-x(1)^3/6+x(1)^5/120)/tau1+Deltaomegao/tau1);
         xdot(1)=x(2);
主程序
tau1=5;tau2=1;K=12;Deltaomegao=[1,2,3,4];
tspan=linspace(0,15,1500);
options=odeset('Abstol',[1e-6,1e-6]);
for i=1:4
     [t,x]=ode45('TwoPLL2',tspan,[-pi,Deltaomegao(i)]',options,tau1,tau2,K,Deltaomegao(i));
     figure(1);plot(t,x(:,1));       hold on; title('Phase difference as a function of Time');ylabel('θe(t)/rad');xlabel('t/s');
     figure(2);plot(t,x(:,2));       hold on; title('Frequency difference as a function of Time');ylabel('(dθe(t)/dt)/(rad?sˉ1)');xlabel('t/s');
     figure(3);plot(x(:,1),x(:,2));  hold on; title('Phase portrait');ylabel('(dθe(t)/dt)/(rad?sˉ1)');xlabel('/rad');
end:'(

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2007-5-16 13:26 | 显示全部楼层

上面不小心打错了一点内容,对不起了

:@L 不好意思,打错了,是四阶龙格库塔法的matlab程序求教,
发表于 2007-5-16 14:42 | 显示全部楼层

回复 #2 insects 的帖子

你确定你上述给出的是四阶微分方程吗?不是二阶?你的m函数里面定义显示只有二阶
四阶龙格库塔法的matlab程序很多matlab书上都有,另ode45其实就是以龙格库塔法为基础的编程
发表于 2007-5-17 07:53 | 显示全部楼层
第一个问题
ode45并非4阶龙格库塔法,是四五阶变步长龙格库塔法
如果要用平常四阶龙格库塔法求解,请到matlab版搜索,有专门的matlab程序

当然这里用ode45求解应该是没有问题的,一般来说ode45的求解要比4阶龙格库塔法求解好

[ 本帖最后由 xinyuxf 于 2007-5-18 09:27 编辑 ]

评分

1

查看全部评分

发表于 2007-5-17 07:55 | 显示全部楼层
原帖由 咕噜噜 于 2007-5-16 14:42 发表
你确定你上述给出的是四阶微分方程吗?不是二阶?你的m函数里面定义显示只有二阶
四阶龙格库塔法的matlab程序很多matlab书上都有,另ode45其实就是以龙格库塔法为基础的编程


搂主没说四阶微分方程,说的就是二阶
龙格库塔法的阶数和方程的价数无关
发表于 2007-5-17 07:57 | 显示全部楼层
第二个问题
类似的微分方程程序我在本版前面写过好多个,自己搜索以下看看怎么回事吧

另外doc ode45看帮助,里面有详细的例子
发表于 2007-5-21 13:31 | 显示全部楼层
联系me:qq174456366,
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 15:28 , Processed in 0.057263 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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