在matlab中,想要画dx/dt的图,已知dx/dt=0.8x(1-x),0<x<1,0<t<25,请问在matlab中怎么输入?要过程详细!

 我来答
百川一归大海
2013-05-18 · TA获得超过1547个赞
知道小有建树答主
回答量:4318
采纳率:55%
帮助的人:1021万
展开全部
h=dsolve('Dx=0.8*x*(1-x)','x(0)=2')%假设t=0时x=2,即‘x(0)=2'没有初始条件,x(t)函数有无穷个

ezplot(h,[0 1])
ylabel('x')
追问

你写的好像有问题,输的结果显示error,结果图应该是这样的,虽然我有图,但是我需要matlab运行过程。

追答

clc

clear

close all

for j=0.15:0.05:0.95

x0=j;

[t,x]=ode45(@(t,x)0.8*x*(1-x),[0 25],x0);

plot(t,x);

hold on

end

xlabel('t')

ylabel('x')

title('dx/dt=0.8x(1-x)')

或者:准确解非上述解析解

clc

clear

close all

for j=0.15:0.05:0.95

h=dsolve('Dx=0.8*x*(1-x)',['x(0)=',num2str(j)]);

ezplot(h)

hold on

end

xlabel('t(0<t<25)')

ylabel('x(0<x<1)')

title('dx/dt=0.8x(1-x) (0<t<25)')

axis([0 25 0 1])

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真greatdju
2013-05-18 · TA获得超过3856个赞
知道小有建树答主
回答量:1300
采纳率:91%
帮助的人:755万
展开全部
x0=0.5;%x(0)的值,自己输
[t,x]=ode45(@(t,x)0.8*x*(1-x),[0 25],x0);
plot(t,x)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式