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

mAtlAB程序oDE45

1、在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 2、在Matlab下面输入: x0=[3,-4,2]; t0=0.001:0.001:20; [t,x]=ode45('myfun',[0.001,20]...

参考代码: % 参数定义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...

我给你运行了一下没错啊 这是一部分数据 不过你在第一个函数保存时函数名应该是 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...

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

你这个程序出错是因为目标函数写错了,可这样改: function dy = ndd_fun(t,y,C) chi=C(1);lambda=C(2);lambda_s=C(3);chi_s=C(4);Z_s=C(5);mu=C(12); theta=C(6);B=C(7);V=C(8);Delta=C(9);delta=C(10);alpha=C(11); Z = y(1); l = y(2); v = y...

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

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

是什么样的常微分方程组?问题介绍不太清楚。

我来解答你的关键问题:将之前主程序计算出来的系数用global cof定义,再在ode45的子函数里同样定义global cof,这样就能把值计算出来并且传递进去了.

你这个程序看着老长,但没出现调用ode45命令的句子,是不可能正常运行的。请再补充下。 你补充后,init没定义,请再补充下。

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