中易网

MATLAB编写程序用四阶龙格库塔法求解常微分方程组,自己写了算的出错,求帮助啊

答案:2  悬赏:30  
解决时间 2021-11-11 09:11
dy1/dt=-y1 ,dy2/dt=-y3 ,dy3/dt=y2 , 0 ≥ t ≤ 0.2
y1(0)=1 y2(0)=-1 y3(0)=0
步长h=0.01
最佳答案
[t,x]=rk4(@(t,x)[-x(1),-x(3),x(2)],0,2,[1,-1 0], 0.01)

%函数文件

function [t,x]=rk4(funname,t0,t1,x0,dt)
t=[];
x=[];
while t0 t=[t;t0];
x=[x;x0];
k1=funname(t0,x0);
t0=t0+dt/2;
k2=funname(t0,x0+dt*k1/2);
k3=funname(t0,x0+dt*k2/2);
t0=t0+dt/2;
k4=funname(t0,x0+dt*k3);
x0=x0+dt/6*(k1+2*k2+2*k3+k4);
t=[t;t0];
x=[x;x0];
end
全部回答
function [y] = rk45(t,x,f,h) k1=f(t,x); k2=f(t+h/2,x+h/2*k1); k3=f(t+h/2,x+h/2*k2); k4=f(t+h,x+h*k3); y=x+h/6*(k1+2*k2+2*k3+k4); end 以上是4阶龙格库塔法的代码: 自己写函数,存为f.m function dxdt = f (t,x) dxdt(1)=exp(x(1)*sin(t))+x(2); dxdt(2)=exp(x(2)*cos(t))+x(1); % x(1)是你的f,x(2)是你的g dxdt=dxdt(:); end 自己给出t0,x0,h的值(初始时间,初值,步长) 如果求t0到t1的轨迹的话:给个例子如下 t0=0;t1=5;h=0.02;x0=[-1;-1]; t=t0:h:t1;x=zeros(length(x0),length(t));x(:,1)=x0; for j=1:length(t)-1 x(:,j+1)=rk45(t(j),x(:,j),@(t,x) f(t,x),h); end plot(t,x(1,:)); hold on; plot(t,x(2,:),'r'); 具体参数自己设置
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问吃柠檬和喝牛奶哪个美白效果更好?
永通万国是什么时候的钱币?
营盘供电所(营盘供电所营业厅)地址在哪,我要
求助,公司想做一个购物类型的app,市场什么
9个月宝宝坐学步车脸上摔青了+肿了怎样办
论述如何做好人力资源规划工作
河北有多少个市县
户外运动用品批发那家商城比较傲不错哦?
外贸企业营销营销方案怎么制定?
我的腰突然很痛
周公解梦梦见活人死了是什么意思?好不好呢?
大班按摩椅售价多少?
清欢cafe地址好找么,我有些事要过去
佛山做双眼皮去哪里好?
营盘供电所(营盘营业室)地址在什么地方,想过
推荐资讯
玛瑙球磨机价格是多少钱
谁知道哪里有笔记本光驱位风扇出售?
涤秽布新的意思?成语怎么解释?
酒渣鼻 鼻赘肉怎么去除
玻璃钢防腐内衬贵不贵?
鸽子蛋孵化十五天给踩破了还能孵出来吗
柘荣一中录取分数线多少?
和隋之珍的意思?成语怎么解释?
大花蕙兰用什么土好
烟台的户外用品店?
多乐士乳胶漆家丽安系列哪种好
台电8寸平板电脑大家觉得怎么样?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?