|
楼主 |
发表于 2008-4-11 10:11
|
显示全部楼层
回复 4楼 的帖子
嗯,你说的错误是指那些方面的错误呐,我把我的程序贴上来,请大家看一下啊,:loveliness:
谢谢了。
clear all;
clc;
syms x4;
A1=-18.2219; A12=-2.85; N=42; beta=2.354; phi0=1.828; lamta=1.0571; u1=1.0097;
u3=1/15.9994; r1e=0.9558; %一些参数
x1= (1.0-0.9)*rand(1,1)+0.9;
x2=(400-200)*rand(1,1)+200;
x3=(1.0-0.9)*rand(1,1)+0.9;
h=vpa((A1+A12)*N^2*(2-exp(-beta*(x1-r1e)))*exp(-beta*(x1-r1e))+(A1+A12)*N^2*(2-exp(-beta*(x3-r1e)))*exp(-beta*(x3-r1e))+2*A12*N*N*((2-exp(-beta*(x1-r1e)))*exp(-beta*(x1-r1e))*(2-exp(-beta*(x3-r1e)))*exp(-beta*(x3-r1e)))^(1/2)+1/4*lamta*N*N*(2*exp(-beta*(x1-r1e))+2*exp(-beta*(x3-r1e))-2*exp(-beta*(x1-r1e)-beta*(x3-r1e))-2*((2-exp(-beta*(x1-r1e)))*exp(-beta*(x1-r1e))*(2-exp(-beta*(x3-r1e)))*exp(-beta*(x3-r1e)))^(1/2))+1/2*((u1+u3)*x2^2+(u1+u3)*x4^2+2*u3*(cos(phi0)*x2*x4))-10287.2);
%这是一个代数哈密顿方程。
s=solve(h,'x4');
d=double(s)
e=d(1,1) %随即选取初始点
%==============================================================
x11=x1;
x22=x2;
x33=x3;
x44=e;
[t,x]=ode113(@gudingfun,[0 8],[x11 x22 x33 x44]); %计算微分方程
%================================================================
figure(1)
plot(t(:),x(:,1))
figure(2)
plot(t(:),x(:,2))
figure(3)
plot(t(:),x(:,3))
figure(4)
plot(t(:),x(:,4))
[ 本帖最后由 zhailiangjun 于 2008-4-11 10:40 编辑 ] |
|