bycj.net
当前位置:首页 >> mAtlAB oDE45 >>

mAtlAB oDE45

ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程。 ode45语法: [T,Y] = ode45(odefun,tspan,...

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function dx=myfun(t,x) dx(1)=20/7*x(1)-x(2)*x(3); dx(2)=-10*x(2)+x(1)*x(3); dx(3)=-4*x(3)+x(1)*x(2); dx=dx(:);...

首先介绍一下函数用法 [TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0) TOUT和YOUT是最后得到的自变量和对应的函数值 ODEFUN是你需要求解的微分方程或方程组 TSPAN是你的微分方程组的自变量的范围 Y0是方程组的初值 括号不是导数的意思,方程组是一个独立...

引用一下matlab论坛里大神的回答: 总得来说:二者算法相似,只不过ode45比ode23精度要高一点,其它没什么差别。 具体ode是Matlab专门用于解微分方程的功能函数;solver有变步长(variable-step)和定步长(fixed-step)两种类型,不同类型有着...

这个方程要解出来还要初始条件吧 不妨设(x(0),y(0))=(A,B); 还有用ode45只能得到数值解,不能给出解析式表达 那么先建立一个函数文件 test_fun.m function dx=tsst_fun(x,t) dx(1)= c-b*x(1)-w*x(1)*x(2); dx(2)=w*x(1)*x(2)-(b+m)*x(2); 那么调...

相关常数都没给,这里随便设置一些数值: m=1;c=2;k=3;y0=4;yp0=5;tf=10;dy=@(t,y)[y(2);-(c*y(2)+k*y(1))/m];[t,y]=ode45(dy,[0 tf],[y0 yp0]);plot(t,y(:,1))

ode45是用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长的方法。而我们平时用的4阶和5阶龙格库塔法的公式中步长是给定的。具体算法和原理你可以看Dormand, J. R. and P. J. Prince, "A family of embedded Runge-Kutta formulae," J. C...

这个方程要解出来还要初始条件吧 不妨设(x(0),y(0))=(A,B); 还有用ode45只能得到数值解,不能给出解析式表达 那么先建立一个函数文件 test_fun.m function dx=tsst_fun(x,t) dx(1)= c-b*x(1)-w*x(1)*x(2); dx(2)=w*x(1)*x(2)-(b+m)*x(2); 那么调...

t>=0即可用ode45,它的物理意义类似时间,但也不局限于时间。你的问题比较模糊。 满意请采纳。

我给你运行了一下没错啊 这是一部分数据 不过你在第一个函数保存时函数名应该是 hj把 266.7452 266.7543 266.7634 266.7725 266.7816 266.7907 266.7997 266.8088 266.8179 266.8270 266.8361 266.8452 266.8543 266.8634 266.8725 266.8815 266...

网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com