如何用MATLAB解下列微分方程

解微分方程程序如下:functionf=funl(t,x);rl=l;r2=o.5;r3=O.6;lambdal=O.1;lambda2=0.02;lambda3=0.0... 解微分方程程序如下:
function f=funl(t,x);
rl=l;r2=o.5;r3=O.6;lambdal=O.1;lambda2=0.02;
lambda3=0.06;mu=0.1;
f=[x(1)*(rl-lambdal*x(2));x(2)*(-r2+lambda2*x(1)-mu*x
(3));x(3)*(-r3+lambda3*x(2))];
[t,x]=ode45('funl,[0,2O],[1OO,40,6]);
subplot(1,2,1)
plot(t,x(:,1),'-',t,x(:,2),'-',t,x(:,3), ':'
legend('x1(t)','x2(t)','x3(t)')
grid
subplot(1,2,2)
plot3(x(:,1),x(:,2),x(:,3))
grid
错误如下,
??? function f=funl(t,x);
|
Error: Function definitions are not permitted at the prompt or in scripts.
怎么改正阿
展开
 我来答
kingzqv
2009-02-08 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:56.5万
展开全部
function f=funl(t,x)
rl=1;r2=0.5;r3=0.6;
lambdal=0.1;lambda2=0.02;lambda3=0.06;mu=0.1;
f=[x(1)*(rl-lambdal*x(2));
x(2)*(-r2+lambda2*x(1)-mu*x(3));
x(3)*(-r3+lambda3*x(2))];
%将这一段程序保存为funl.m

%主程序如下
ts=0:0.1:20;
x0=[100,40,6];
[t,x]=ode45('funl',ts,x0);
subplot(1,2,1)
plot(t,x(:,1),'-',t,x(:,2),'-',t,x(:,3), ':');
legend('x1(t)','x2(t)','x3(t)');
grid
subplot(1,2,2)
plot3(x(:,1),x(:,2),x(:,3));
grid

保证funl与主程序在同一目录,并且matlab的当前目录,指向funl函数保存的地方。
相轨迹画出来像数字8
日向淳正
2009-02-08 · TA获得超过2811个赞
知道大有可为答主
回答量:2770
采纳率:0%
帮助的人:1405万
展开全部
script不能被调用,你应该把
function f=funl(t,x);
rl=l;r2=o.5;r3=O.6;lambdal=O.1;lambda2=0.02;
lambda3=0.06;mu=0.1;
f=[x(1)*(rl-lambdal*x(2));x(2)*(-r2+lambda2*x(1)-mu*x
(3));x(3)*(-r3+lambda3*x(2))];
定义在函数中,函数以function开头,可以被调用.
[t,x]=ode45('funl,[0,2O],[1OO,40,6]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式