lnly 发表于 2007-7-12 11:22

用龙格库塔法求解非线性微分方程组问题出错

这是一个用四五阶龙格库塔法求解非线性微分方程组的程序,运行后总有这样的错误.
不知道怎么回事,希望大家帮忙看看!谢谢!

function xdot=zhuanzi1(t,x,flag,omiga,e)
A0=1.2e-4;N=80;C0=2e-4;I0=4;miu0=4*pi*(10.^-7);m=0.434;g=10;
Kxi=96.5097;Kyi=96.5097;Kxx=1.9302e+6;Kyy=1.9311e+6;Kp=20.5;Kd=0.006;
i0=m*g*C0^2/miu0*A0*N^2*I0;Kiy'=-2*miu0*A0*N^2*i0/C0^3;Kyy'=3*miu0*A0*N^2*I0*i0/C0^4;
Kx1=Kxi*Kd*sqrt(C0*g)/m*g;Kx2=C0*(Kxi*Kp+Kxx)/m*g;Ky1=Kyi*Kd*sqrt(C0*g)/m*g;Ky2=C0*Kiy'*Kd*sqrt(C0*g)/m*g;
Ky3=C0*(Kyi*Kp+Kyy)/m*g;Ky4=C0^2*(Kyy'+Kiy'*Kp)/m*g;tao=508.9783*t;
xdot=[x(3);
    x(4);
   -Kx1*(omega^-1)*x(3)-Kx2*(omega^-2)*x(1)+e*cos(tao);
    -Ky1*(omega^-1)*x(4)-Ky2* (omega^-1)*x(2)*x(4)-Ky3*(omega^-2)*x(2)-Ky4*(omega^-2)*x(2)^2+e*sin(tao)];
%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
clc;
t_final=200;x0=;
o1=14.4471;e1=0.1;
=ode45('zhuanzi1',,x0,[],o1,e1);
plot(t,x),
figure;plot3(x(:,1),x(:,2),x(:,3),x(:,4));

??? Error: File: D:\MATLAB6p5\work\MATLAB\练习\feixianxing\zhuanzi\zhuanzi1.m Line: 4 Column: 32
Missing operator, comma, or semicolon.
Error in ==> D:\MATLAB6p5\toolbox\matlab\funfun\private\odearguments.m
On line 76==>   if (nargin(ode) == 2)         
Error in ==> D:\MATLAB6p5\toolbox\matlab\funfun\ode45.m
On line 155==>
Error in ==> D:\MATLAB6p5\work\MATLAB\练习\feixianxing\zhuanzi\zhuanzi1solve.m
On line 5==> =ode45('zhuanzi1',,x0,[],o1,e1);


[ 本帖最后由 eight 于 2007-7-12 11:23 编辑 ]

eight 发表于 2007-7-12 11:24

原帖由 lnly 于 2007-7-12 11:22 发表 http://www.chinavib.com/forum/images/common/back.gif
这是一个用四五阶龙格库塔法求解非线性微分方程组的程序,运行后总有这样的错误.
不知道怎么回事,希望大家帮忙看看!谢谢!

function xdot=zhuanzi1(t,x,flag,omiga,e)
A0=1.2e-4;N=80;C0=2e-4;I0=4;miu ...

??? Error: File: D:\MATLAB6p5\work\MATLAB\练习\feixianxing\zhuanzi\zhuanzi1.m Line: 4 Column: 32

根据这个提示自己检查一下。其实就是变量名的问题,不能有 ' 号

octopussheng 发表于 2007-7-12 15:59

你的文件夹好像有问题,不能是中文文件夹,matlab好像不能识别中文文件夹的哦!
把路径名称改一下试试

lnly 发表于 2007-7-12 17:18

谢谢大家的指教!找到错误的原因了.:@)

octopussheng 发表于 2007-7-12 20:41

呵呵,找到原因就好,论坛的目的就是多交流嘛!
页: [1]
查看完整版本: 用龙格库塔法求解非线性微分方程组问题出错