中易网

MATLAB中用ode45求解微分方程,如何设置最大步长?

答案:2  悬赏:60  
解决时间 2021-04-18 03:23
MATLAB中用ode45求解微分方程,如何设置最大步长?
最佳答案
[t,y]=ode45('odefun',[t0:dt:tend],y0);
这里的dt就是最大步长,但是因为ode45是变步长的算法,如果需要计算的时间范围 [t0 tend] 不是很大的话,那么返回的时间矩阵 t 里面的时间间隔不一定全是 dt,会包含更小的时间步。
全部回答
function [x,y]=runge_kutta1(ufunc,y0,h,a,b) %参数表顺序依次是微分方程组的函数名称,初始值向量,步长,时间起点,时间终点, n=floor((b-a)/h); %求步数 x(1)=a; %时间起点 y(:,1)=y0; %赋初值,可以是向量,但是要注意维数 for ii=1:n x(ii+1)=x(ii)+h; k1=ufunc(x(ii),y(:,ii)); k2=ufunc(x(ii)+h/2,y(:,ii)+h*k1/2); k3=ufunc(x(ii)+h/2,y(:,ii)+h*k2/2); k4=ufunc(x(ii)+h,y(:,ii)+h*k3); y(:,ii+1)=y(:,ii)+h*(k1+2*k2+2*k3+k4)/6; %按照龙格库塔方法进行数值求解 end 这是给你编的定步长龙哥库塔,即ode4
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一道化学题请教下大家
求救呀!!梁受拉钢筋绑扎搭接长度怎么计算?
GTA5线下模式到结局一共有过几次抢劫?分别是
施华洛世奇水晶项链 好么?拜托了各位 谢谢
厦门模具货架配置(制)
怀孕四个多月呼吸捆难气短是怎么回事对宝宝有
呼伦贝尔什么地方最好玩
芜湖到江苏泰州市姜堰区多少公里怎么走
陕西省延安市甘泉县石门乡张槐湾村邮编是什么
我的世界怎么连不了机啊?这是怎么回事啊?我
生完宝宝之后宝妈睡眠质量都不好么?
广州江门市有什么景点
四氧化三铁其主要成分是什么!他的化合价是多
地铁五棵松站是几号线
磷单质是P2还是P4
推荐资讯
帽衫应该怎样搭配?
建筑装饰实习周记
武汉做酒店餐饮的特通经销商有哪些
圣诞节是几月几日这天要举行什么学动
暗黑3杨弓那个加敏捷的属性怎么回事
朋友之间最不能做什么事?
什么是淀粉酶(amylase)
成吉思汗开新服务器了别的玩家完了两天为什么
英语四级分数分析
合生元奶粉配方表怎么没有美赞臣配表高
回头看又是一番风景初中作文600
家里马上要装修完了,可是还要购些家具,介绍
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?