在matlab中,想要画dx/dt的图,已知dx/dt=0.8x(1-x),0<x<1,0<t<25,请问在matlab中怎么输入?要过程详细!
2个回答
展开全部
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')
ezplot(h,[0 1])
ylabel('x')
追答
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])
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询