声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1238|回复: 1

[编程技巧] 解高次幂微分方程

[复制链接]
发表于 2014-3-29 21:08 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 牛小贱 于 2014-3-29 21:21 编辑

我做了两个function去解这个方程。大侠们,看这么做对吗?
  1. function [x, y, yInt] =odeSolver()
  2. rhs = odeSolver(x,z)
  3. %
  4. % Input
  5. % z: solution variable
  6. % x: derivative variable
  7. %
  8. % Output:
  9. % rhs: right hand side of the ODE
  10. % dz/dx = F(z,x)
  11. rhs = cos(x);
  12. The second one.
  13. function dzdx =ODErhs(x,z)
  14. %
  15. % Input:
  16. % z: vector variable
  17. % x: position
  18. %
  19. % Output:
  20. % dzdx: RHS of the ODE system
  21. dzdx = [z(2);z(3); x*z(1)*z(2)+0.8];
  22. The third one.
  23. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  24. % question7 ODE
  25. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  26. % Clear memory and screen
  27. clear all; clc
  28. % Data ----------------------------------------
  29. % Interval
  30. a = 0.8;
  31. b = 4.3;
  32. % Initial condition
  33. Z0 = [0.1376 0.204 -6952];
  34. % Computations --------------------------------
  35. % Solve the ODE
  36. sol = ode45(@ODErhs, [a,b], Z0);
  37. % Output --------------------------------------
  38. plot(sol.x, sol.y(1,:))
  39. xlabel('x')
  40. ylabel('y')
  41. title('question 7ode')
复制代码
还有就是X,Y两个量的近似解我搞出来了,可是我不懂怎么去求这个 yint。
yint是一个以实数形式表示的“y的近似解的积分”
原版英文题目解释是这样的。
A real number representing the integral of the approximate solution in the interval
where the differential equation has been solved.
有大侠会吗?
求救。
感恩。



I84~4M`S~[X$$`Y66]YQ~UM.jpg
回复
分享到:

使用道具 举报

发表于 2014-3-31 10:01 | 显示全部楼层
买看懂的程序,这是你自己编写的 还是从什么地方来的?
高阶微分方程求解方法一般和二阶的都是一样的,用ode45实现就可以了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-1 15:32 , Processed in 0.091274 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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