声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 719|回复: 0

[综合讨论] 请各位帮我看个关于精度溢出的问题

[复制链接]
发表于 2008-1-28 11:47 | 显示全部楼层 |阅读模式

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

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

x
  1. function num_euler_formula2
  2. clc
  3. %m=input('m=');
  4. %c=input('c=');
  5. %k=input('k=');
  6. %x0=input('x0=');
  7. %v0=input('v0=');

  8. %f0=input('f0=');
  9. %w=input('w=');
  10. %delt=input('delt=');
  11. %wn=sqrt(k/m);
  12. %z=c/2/m/wn;
  13. %lan=w/wn;
  14. %x=x0;
  15. %xd=v0;
  16. %T=input('T=');
  17. m=18.2
  18. c=1.49
  19. k=43.8
  20. x0=1
  21. v0=1
  22. f0=44.5
  23. w=15
  24. delt=1
  25. T=70;
  26. x=x0;
  27. xd=v0;
  28. wn=sqrt(k/m);
  29. z=c/2/m/wn;
  30. lan=w/wn;



  31. for t=1:delt:T   

  32.    
  33.     xdd=(f0*sin(w*t)-k*x0-c*xd)/m;
  34.     x0=x0+xd*delt;
  35.     xd=xd+xdd*delt;
  36.     x(t)=x0;
  37.     xxd(t)=xd;
  38. end
  39. n=T/delt;

  40. t=1:delt:T
  41. x



  42. subplot(1,2,1);
  43. plot(t,x);
  44. grid;
  45. xlabel('time');
  46. ylabel('displacement');
  47. title('time and displacement');

  48. subplot(1,2,2);
  49. plot(t,xxd);
  50. grid;
  51. xlabel('time');
  52. ylabel('velocity');
  53. title('time and velocity');
复制代码


用欧拉法求单自由度谐迫响应,但位移X初始值和最终值差太多,导致用e表示时系统把初始值都认为0了,最终画图时初始阶段画出来的都是一条直线。而且位移应该是衰减的,怎么会递增了
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-10-2 14:37 , Processed in 0.062663 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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