声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4715|回复: 13

[共享资源] [原创]非线性微分方程的求解

[复制链接]
发表于 2006-4-17 22:51 | 显示全部楼层 |阅读模式

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

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

x
下面是单自由度的非线性微分方程的求解程序(分段函数)。多自由度的正在努力中,希望能和大家多多交流!
非线性微分方程表达式的函数:
  1. function vprime= aadlx(t,x)

  2. % x(1)为位移 x(2)为速度 分段函数
  3. if x(1)>1
  4. vprime=[x(2);1.1+0.1*cos(0.5*t)+0.075*sin(0.5*t)-0.02*x(2)-(1+0.1*cos(0.5*t))*x(1)];
  5. elseif -1<=x(1)<=1
  6. vprime=[x(2);0.1+0.075*sin(0.5*t)-0.02*x(2)];
  7. else
  8. vprime=[x(2);-0.9-0.1*cos(0.5*t)+0.075*sin(0.5*t)-0.02*x(2)-(1+0.1*cos(0.5*t))*x(1)];
  9. end
  10. 运行以下内容即可得到结果:
  11. options=odeset('RelTol',1e-4,'AbsTol',[1e-6]);

  12. tspan=[0,900];
  13. [t,x]=ode45('aadlx',tspan,[0;0],options);
  14. u1=x(:,1);
  15. u2=x(:,2);


  16. figure('unit','normalized','color',[1,1,1]);
  17. h=get(gcf);
  18. set(gcf,'Name','1','numbertitle','off');
  19. plot(t,u1)
  20. title('图1')
  21. xlabel('时间t');ylabel('位移x');
  22. grid on

  23. figure('unit','normalized','color',[1,1,1]);
  24. h=get(gcf);
  25. set(gcf,'Name','2','numbertitle','off');
  26. plot(u1,u2)
  27. title('图2')
  28. xlabel('位移x');ylabel('速度dx');
  29. grid on
复制代码

[ 本帖最后由 suffer 于 2006-10-9 20:02 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2006-4-27 00:26 | 显示全部楼层
运行好象有点问题是吗??
 楼主| 发表于 2006-4-29 08:37 | 显示全部楼层
没有问题啊,将函数aadlx存放在一个目录下,在当前目录下命令窗中运行“运行以下内容即可得到结果:”以下的内容就可以了啊。可以画出动响应图和相图。
 楼主| 发表于 2006-4-29 08:40 | 显示全部楼层
1
1.JPG
 楼主| 发表于 2006-4-29 08:50 | 显示全部楼层
上面是运行结果。
发表于 2006-5-7 13:29 | 显示全部楼层

急回,谢啦

有关于MATALB在电子线路课程中应用的例子么?急用.谢谢
发表于 2006-5-24 12:33 | 显示全部楼层
可不可以再写个微分方程组的程序,让我这样的小学生学习一下?
发表于 2006-5-30 14:47 | 显示全部楼层
运行有点小问题啊
发表于 2006-5-30 14:49 | 显示全部楼层
大家怎样运行的结果?
发表于 2006-6-23 11:11 | 显示全部楼层
楼主 精华帖 的图章盖住了程序
能不能改动一下
发表于 2006-8-6 09:59 | 显示全部楼层
楼主,我现在急需多自由度的非线形微分方程的求解程序,希望您能帮忙啊!我的 QQ78142287!
发表于 2006-8-12 18:04 | 显示全部楼层
我认为将tspan=[0,900];中的900改的小一点(比如200)则动响图像更好一些.
发表于 2006-10-19 11:22 | 显示全部楼层
谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!
发表于 2006-10-20 15:17 | 显示全部楼层
原帖由 yang95478 于 2006-10-19 11:22 发表
谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!


分段非线性微分方程组和上述方程的解法是完全一样的,只是在定义求解函数的时候用if来判断一下就行了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 08:55 , Processed in 0.070775 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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