声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 科学计算 matlab 查看内容

非线性微分方程的求解程序(分段函数)

2015-10-23 16:22| 发布者: aspen| 查看: 1215| 评论: 13|原作者: siyanger|来自: 声振论坛

摘要: 下面是单自由度的非线性微分方程的求解程序(分段函数)。多自由度的正在努力中,希望能和大家多多交流! 非线性微分方程表达式的函数: function vprime= aadlx(t,x) % x(1)为位移 x(2)为速度 分段函数 if 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 编辑 ]
发表评论

最新评论

引用 hdj101 2006-4-27 00:26
运行好象有点问题是吗??
引用 siyanger 2006-4-29 08:37
没有问题啊,将函数aadlx存放在一个目录下,在当前目录下命令窗中运行“运行以下内容即可得到结果:”以下的内容就可以了啊。可以画出动响应图和相图。
引用 siyanger 2006-4-29 08:40
1
引用 siyanger 2006-4-29 08:50
上面是运行结果。
引用 oops 2006-5-7 13:29
有关于MATALB在电子线路课程中应用的例子么?急用.谢谢
引用 iwwfy 2006-5-24 12:33
可不可以再写个微分方程组的程序,让我这样的小学生学习一下?
引用 wsh6759 2006-5-30 14:47
运行有点小问题啊
引用 wsh6759 2006-5-30 14:49
大家怎样运行的结果?
引用 xcdl 2006-6-23 11:11
楼主 精华帖 的图章盖住了程序
能不能改动一下
引用 lihuaifu 2006-8-6 09:59
楼主,我现在急需多自由度的非线形微分方程的求解程序,希望您能帮忙啊!我的 QQ78142287!
引用 hanzhenhui 2006-8-12 18:04
我认为将tspan=[0,900];中的900改的小一点(比如200)则动响图像更好一些.
引用 yang95478 2006-10-19 11:22
谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!
引用 suffer 2006-10-20 15:17
原帖由 yang95478 于 2006-10-19 11:22 发表
谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!


分段非线性微分方程组和上述方程的解法是完全一样的,只是在定义求解函数的时候用if来判断一下就行了

查看全部评论(13)

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

GMT+8, 2024-5-11 22:42 , Processed in 0.058802 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部