声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1981|回复: 2

[编程技巧] 求助:程序错误

[复制链接]
发表于 2007-5-17 14:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位大虾,我写了个函数 代码如下:
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.
我实在不清楚错在哪里了,大家帮帮我
回复
分享到:

使用道具 举报

发表于 2007-5-17 14:31 | 显示全部楼层
Line: 83 Column: 4
  你把那句,找出来仔细看看。
发表于 2007-5-17 14:37 | 显示全部楼层
原帖由 pwangeng 于 2007-5-17 14:28 发表
各位大虾,我写了个函数 代码如下:
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 基础书,以及本版置顶贴:聚宝盆
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 05:25 , Processed in 0.064024 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表