MATLAB解微分方程,急

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:58:47
d2x/dt2=2xy;d2y/dt2=y2-x2-h2(d2是二阶的意思.x2等是平方,h是常数为20);可以通过MALAB解出y和x,然后获得xy的关系嘛,定定定定加分,

恩 你没有给初值不要解答呀 记住加分哦

Matlab中微分方程的解法有解析解和数值解,具体可以看http://www.matlabsky.com/thread-526-1-1.html这个帖子,里面说明很详细

%by dynamic
%see also http://www.matlabsky.com
%2009.2.16
%
%我这里假设初值全部为1
%下面是解析解
root=dsolve('D2x=2*x*y','D2y=y^2-x^2-20^2','x(0)=1','y(0)=1','Dx(0)=1','Dy(0)=1')

%下面是数值解

%取下面的状态变量
%x1=x
%x2=x'
5x3=y
%x4=y'

h=20;
odefun=@(t,x)[x(2)
2*x(1)*x(3)
x(4)
x(3)^2-x(1)^2-h^2]
[t,x]=ode45(odefun,[0 10],[1 1 1 1])
plot(x(:,1),x(:,3))