怎样用matlab求解复杂的微分方程组d2x/dt2=(x^2+3x)(dy/dt)d2y/dt2=-(x^2+3x)(dx/dt)当t=0时,x(0)=0,y(0)=0(dx/dt)(0)=a,(dy/dt)(0)=a(d2x/dt2)(0)=a,(d2y/dt2)(0)=a先要得到x,y分别关于t的表达式,然后得到y关于x的表达式初值
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 02:26:46
![怎样用matlab求解复杂的微分方程组d2x/dt2=(x^2+3x)(dy/dt)d2y/dt2=-(x^2+3x)(dx/dt)当t=0时,x(0)=0,y(0)=0(dx/dt)(0)=a,(dy/dt)(0)=a(d2x/dt2)(0)=a,(d2y/dt2)(0)=a先要得到x,y分别关于t的表达式,然后得到y关于x的表达式初值](/uploads/image/z/691962-42-2.jpg?t=%E6%80%8E%E6%A0%B7%E7%94%A8matlab%E6%B1%82%E8%A7%A3%E5%A4%8D%E6%9D%82%E7%9A%84%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%BB%84d2x%2Fdt2%3D%28x%5E2%2B3x%29%28dy%2Fdt%29d2y%2Fdt2%3D-%28x%5E2%2B3x%29%28dx%2Fdt%29%E5%BD%93t%3D0%E6%97%B6%2Cx%280%29%3D0%2Cy%280%29%3D0%28dx%2Fdt%29%280%29%3Da%2C%28dy%2Fdt%29%280%29%3Da%28d2x%2Fdt2%29%280%29%3Da%2C%28d2y%2Fdt2%29%280%29%3Da%E5%85%88%E8%A6%81%E5%BE%97%E5%88%B0x%2Cy%E5%88%86%E5%88%AB%E5%85%B3%E4%BA%8Et%E7%9A%84%E8%A1%A8%E8%BE%BE%E5%BC%8F%2C%E7%84%B6%E5%90%8E%E5%BE%97%E5%88%B0y%E5%85%B3%E4%BA%8Ex%E7%9A%84%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%88%9D%E5%80%BC)
怎样用matlab求解复杂的微分方程组d2x/dt2=(x^2+3x)(dy/dt)d2y/dt2=-(x^2+3x)(dx/dt)当t=0时,x(0)=0,y(0)=0(dx/dt)(0)=a,(dy/dt)(0)=a(d2x/dt2)(0)=a,(d2y/dt2)(0)=a先要得到x,y分别关于t的表达式,然后得到y关于x的表达式初值
怎样用matlab求解复杂的微分方程组
d2x/dt2=(x^2+3x)(dy/dt)
d2y/dt2=-(x^2+3x)(dx/dt)
当t=0时,x(0)=0,y(0)=0
(dx/dt)(0)=a,(dy/dt)(0)=a
(d2x/dt2)(0)=a,(d2y/dt2)(0)=a
先要得到x,y分别关于t的表达式,
然后得到y关于x的表达式
初值条件应该是:
当t=0时,x(0)=0,y(0)=0
(dx/dt)(0)=a,(dy/dt)(0)=0
(d2x/dt2)(0)=0,(d2y/dt2)(0)=b
其中a,b为常数
怎样用matlab求解复杂的微分方程组d2x/dt2=(x^2+3x)(dy/dt)d2y/dt2=-(x^2+3x)(dx/dt)当t=0时,x(0)=0,y(0)=0(dx/dt)(0)=a,(dy/dt)(0)=a(d2x/dt2)(0)=a,(d2y/dt2)(0)=a先要得到x,y分别关于t的表达式,然后得到y关于x的表达式初值
[x y]=dsolve('D2x=(x*x+3*x)*Dy','D2y=-(x*x+3*x)*Dx','x(0)=0','y(0)=0','Dx(0)=a','Dy(0)=a','D2x(0)=a','D2y(0)=a')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
设定的X(1)=dx/dt;
x(2)=x;
x(3)=dy/dt;
x(4)=y;
%%%%%%%
function dx=shuzhijie(t,x)
dx=[(x(2)^2+3*x(2))*x(3);x(1);(x(2)^2+3*x(2))*x(1);x(3)];
%%%%%%%%%%%
>> x0=[0.3 0.2 0.4 0.1];%初值 0
[t x]=ode45('shuzhijie',t0,x0);
>> plot(t,x)
>>