求助:程序错误
各位大虾,我写了个函数 代码如下:function d=fun(t,y,w,B)
N=length(y);
wi=w;
m1=4; m2=32.1;
e=0.00005;
c=0.00011;
k=2.5e7;
delta2=0.4;
c1=1050;
c2=2100;
k1=7.5e7;
k2=2.5e9;
cs1=350;
cs2=500;
M=[m1 0 0 0;
0 m1 0 0;
0 0 m2 0;
0 0 0 m2; ];
C=[c1 0 -c1 0;
0 c1+cs 0 -c1;
-c2 0 c2 0;
0 -c2 0 c2; ];
K=[ k 0 -k 0;
0 k+ks 0 -k;
-k 0 k 0;
0 -k 0 k; ];
ox1=y(1);
oy1=y(2);
odx1=y(5);
ody1=y(6);
ox2=y(3);
oy2=y(4);
odx2=y(7);
ody2=y(8);
fx=oilx( ox1, oy1, odx1, ody1, w, B);
fy=oily( ox1, oy1, odx1, ody1, w, B);
if oy1<0
cs=cs2;
ks=k2;
else if(oy1>=0)&(oy1<=delta2)
cs=0;
ks=0;
else
cs=cs1;
ks=k1;
end
F=[ fx;
fy-m1*9.81;
m2*e*w^2*cos(t);
m2*e*w^2*sin(t)-m2*9.81; ];
C=C/w;
K=K/w^2;
F=F/c/w^2;
for i=1:1:N/2
y1(i,1)=y(i);
y2(i,1)=y(i+N/2);
end
yy2=inv(M)*(F-C*y2-K*y1);
for i=1:1:N/2
d(i)=y2(i,1);
d(i+N/2)=yy2(i,1);
end
在主程序调用的过程中总是提示:
??? Error: File: fun.m Line: 83 Column: 4
This statement is incomplete.
我实在不清楚错在哪里了,大家帮帮我 Line: 83 Column: 4
你把那句,找出来仔细看看。 原帖由 pwangeng 于 2007-5-17 14:28 发表 http://www.chinavib.com/forum/images/common/back.gif
各位大虾,我写了个函数 代码如下:
function d=fun(t,y,w,B)
N=length(y);
wi=w;
m1=4; m2=32.1;
e=0.00005;
c=0.00011;
k=2.5e7;
delta2=0.4;
c1=1050;
c2=2100;
k1=7.5e7;
k2=2.5 ...
else if是连在一起的
请多阅读 matlab 基础书,以及本版置顶贴:聚宝盆
页:
[1]