用matlab龙格库塔法解一阶微分方程组,总是显示缺少参数,求大神答疑!!

我写的M文件:functiondx=funt(t,x)dx=zeros(2,1);dx(1)=-3*x(1)/86400;dx(2)=3*x(1)/86400-0.23*... 我写的M文件:function dx=funt(t,x)
dx=zeros(2,1);
dx(1)=-3*x(1)/86400;
dx(2)=3*x(1)/86400-0.23*x(2)/86400;
t0=0;
tf=[];
[t,x]=ode45('funt',[t0,tf],[308.5,1.87])
展开
 我来答
宇逸ycl
2013-11-20 · TA获得超过4088个赞
知道大有可为答主
回答量:1589
采纳率:50%
帮助的人:1822万
展开全部
t0=0;tf=[]; 取值区间的右边不能为空啊!

其他的没有什么问题。
追问
别人也这样告诉我,然后我重新又写了一遍程序:
function dx=funt2(t,x)
dx=[-3*x(1)/86400;3*x(1)/86400-0.23*x(2)/86400]
t0=0
tf=86400*5
[t,x]=ode45('funt2',[t0,tf],[308.5,1.87]);
还是不能运行
追答
试试这样:
fun=@(t,x)[-3*x(1)/86400;
3*x(1)/86400-0.23*x(2)/86400];
[t,x]=ode45(fun,[0 86400*5],[308.5,1.87])

或者:
子程序为:
function dx=funt(t,x)
dx=zeros(2,1);
dx(1)=-3*x(1)/86400;
dx(2)=3*x(1)/86400-0.23*x(2)/86400;

主程序为:
[t,x]=ode45(@funt,[0 86400*5],[308.5,1.87])
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式