matlab 画平面向量场
微分方程y'=y(1-y):y(0)=0.2给定区域为0<=x<=6,0<=y<=2画出这个函数在给定区域内的平面向量场。我自己尝试着写,先创建函数functionz=e...
微分方程y'=y(1-y):
y(0)=0.2
给定区域为0<=x<=6,0<=y<=2
画出这个函数在给定区域内的平面向量场。
我自己尝试着写,先创建函数
function z=exp1(x,y)
z=y.*(1-y);
然后调用写另一个函数文件,
[x,y]=meshgrid(0:1:6,0:1:2);
[T,Y]=ode23('exp1',[0,6],0.2);
dy=sqrt(1./(1+Y.^2));
dx=sqrt(1-dy.^2);
quiver(x,y,dx,dy)
但最后就画了一条直线出来,请各位高手帮帮忙,问题在哪 展开
y(0)=0.2
给定区域为0<=x<=6,0<=y<=2
画出这个函数在给定区域内的平面向量场。
我自己尝试着写,先创建函数
function z=exp1(x,y)
z=y.*(1-y);
然后调用写另一个函数文件,
[x,y]=meshgrid(0:1:6,0:1:2);
[T,Y]=ode23('exp1',[0,6],0.2);
dy=sqrt(1./(1+Y.^2));
dx=sqrt(1-dy.^2);
quiver(x,y,dx,dy)
但最后就画了一条直线出来,请各位高手帮帮忙,问题在哪 展开
展开全部
x1=linspace(0,6,50);
y1=linspace(0,2,30);
[xx,yy]=meshgrid(x1,y1);
dy=yy.*(1-yy);
dx=ones(size(xx));
dx=dx./(sqrt(dx.^2+dy.^2)+eps);
dy=dy./(sqrt(dx.^2+dy.^2)+eps);
quiver(xx,yy,dx,dy)
axis([0,6,0,2])
[x1,yy1]=ode23('fequ',x1,0.2);
[x1,yy2]=ode23('fequ',x1,1.8);
hold on
plot(x1,yy1,x1,yy2);
streamline(xx,yy,dx,dy,0,0.5);
streamline(xx,yy,dx,dy,0,1.5);
streamline(xx,yy,dx,dy,1,0.5);
streamline(xx,yy,dx,dy,1,1.5);
function s=fequ(tt,xx)
s=xx.*(1-xx);
y1=linspace(0,2,30);
[xx,yy]=meshgrid(x1,y1);
dy=yy.*(1-yy);
dx=ones(size(xx));
dx=dx./(sqrt(dx.^2+dy.^2)+eps);
dy=dy./(sqrt(dx.^2+dy.^2)+eps);
quiver(xx,yy,dx,dy)
axis([0,6,0,2])
[x1,yy1]=ode23('fequ',x1,0.2);
[x1,yy2]=ode23('fequ',x1,1.8);
hold on
plot(x1,yy1,x1,yy2);
streamline(xx,yy,dx,dy,0,0.5);
streamline(xx,yy,dx,dy,0,1.5);
streamline(xx,yy,dx,dy,1,0.5);
streamline(xx,yy,dx,dy,1,1.5);
function s=fequ(tt,xx)
s=xx.*(1-xx);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询