zhengshuhe 发表于 2011-3-10 10:40

微分方程的出错求助!看了半天也没看出来,新手

%主程序
m=70;k=20;a1=1;a2=1;g=10;
y0=[-30;0];
%t0=0;tf=100;tol=1e-6;
tspan=;
=ode45(@stu1,tspan,y0);
x1=50.-y(:,1);
plot(t,x1);grid
plot(t,y(:,1));grid
%函数
function dy=stu1(t,y)
m=70;k=20;a1=1;a2=1;g=10;y0=[-30;0];
x=y(1)
x_dot=y(2);
if x>0
       dy=*y+;
   else
       dy=*y+
   end

怎么老通过不了?新手求助错误!谢谢

VibrationMaster 发表于 2011-3-10 12:28

%函数 之后的 function 截下来应该另存一个文件.

开始不带 function的文件,后面不能有function

zhouyang664 发表于 2011-3-10 12:29

有几个问题,
1.    这个应该建立一个函数,然后再运行,不能在脚本状态下运行;
2.    dy=*y+ ;
   是有问题的,不对应啊!你应该整错了吧!

functionodeFun( )

m = 70 ;
k = 20 ;
a1 = 1 ;
a2 = 1 ;
g = 10 ;
y0 = [-30 ; 0] ;
tspan = ;
= ode45(@stu1 , tspan , y0) ;
x1 = 50. - y(: , 1) ;
plot(t , x1) ;
grid
plot(t , y(: , 1)) ;
grid

%函数
function dy = stu1(t , y)
m = 70 ;
k = 20 ;
a1 = 1 ;
a2 = 1 ;
g = 10 ;
y0 = [-30 ; 0] ;
x = y(1) ;
x_dot = y(2) ;
if x > 0
       dy = * y + ;
else
       dy = * y + ;
end
end
end

zhengshuhe 发表于 2011-3-10 17:02

多谢各位的意见,我漏了个矩阵元素结果不对称!初学者,见笑,见笑!

雪缘 发表于 2011-3-10 17:04

zhengshuhe 发表于 2011-3-10 17:02 static/image/common/back.gif
多谢各位的意见,我漏了个矩阵元素结果不对称!初学者,见笑,见笑!

大家都是从初学这过来的,欢迎经常来论坛交流
页: [1]
查看完整版本: 微分方程的出错求助!看了半天也没看出来,新手