fkjj.net
当前位置:首页 >> mAtlAB程序oDE45 >>

mAtlAB程序oDE45

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

fun_u=@(t,u) u-2*t/u; [t,u]=ode45(fun_u, 0:0.01:1, 1); plot(t,u);

参考代码: % 参数定义m1 = 1; m2 = 2; m3 = 3;k1 = 4; k2 = 5; k3 = 6; k4 = 7;P0 = 8; w = 9; % 微分方程A = [k1+k2 -k1 0; -k2 k2+k3 -k3; 0 -k3 k3+k4];dx = @(t,x)[x(4:6); (-A*x(1:3)+[P0*sin(w*t);0;0])./[m1;m2;m3]]; % 初始条件(x4~x6...

这张图来自于MATLAB 技术论坛,这是一个非常有价值的网站,里面高手云集,希望你可以进去看看,里面有非常详细的关于ODE的介绍 http://www.matlabsky.com/thread-528-1-1.html

这个方程要解出来还要初始条件吧 不妨设(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); 那么调...

您好,以下这张图来自于MATLAB 技术论坛,这是一个非常有价值的网站,里面高手云集,希望你可以进去看看,里面有非常详细的关于ODE的介绍: http://www.matlabsky.com/thread-528-1-1.html

出现这种提示,就说明没有解,可用其它解法试试,或者改变初始条件再试试。

从结果来看,你把一个数组赋给了y0 检查看看是不是ci的问题

把 “[t,C]=ode45(@func1,tspan,C0,[],k)” 改成 [t,C]=ode45(@(t,C)func1(t,C,k),tspan,C0) 你原来那句是老用法,新版不支持了,改用@.

我给你运行了一下没错啊 这是一部分数据 不过你在第一个函数保存时函数名应该是 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.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com