声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1905|回复: 5

[编程技巧] 程序错误:不知道如何定义

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

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

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

x
function d=fun(t,y,w)

N=14;
y=zeros(N,1);
w=2100;
m1=4;
m2=32.1;
m3=50.0;
g=9.81;
e=0.00005;
c=0.00011;
k=2.5e7;
delta2=0.6e-3;
c1=1050;
c2=2100;
k1=7.5e7;
k2=2.5e9;
cb1=350;
cb2=500;
ox1=y(1);
oy1=y(2);
odx1=y(8);
ody1=y(9);
ox2=y(3);
oy2=y(4);
odx2=y(10);
ody2=y(11);
ox3=y(5);
oy3=y(6);
odx3=y(12);
ody3=y(13);
oy4=y(7);
ody4=y(14);
if oy4<0
    cb=cb2;
    kb=k2;
elseif  (oy4>=0)&(oy4<=delta2)
        cb=0;
        kb=0;
    else
         cb=cb1;
         kb=k1;
end
M=[  m1   0     0    0    0     0    0;
     0    m1    0    0    0     0    0;
     0    0     m2   0    0     0    0;
     0    0     0    m2   0     0    0;
     0    0     0    0    m1    0    0;
     0    0     0    0    0     m1   0;
     0    0     0    0    0     0    m3;];
C=[  c1   0     0    0    0     0    0;
     0    c1    0    0    0     0    0;
     0    0     c2   0    0     0    0;
     0    0     0    c2   0     0    0;
     0    0     0    0    c1    0    0;
     0    0     0    0    0     c1   0;
     0    0     0    0    0     0    cb;];
  
K=[  k   0     -k    0    0     0    0;
     0    k    0    -k    0     0    0;
     -k   0    2*k    0    -k    0    0;
     0    -k   0    2*k    0    -k    0;
     0    0    -k    0     k    0    0;
     0    0    0    -k     0    k    0;
     0    0    0     0     0    0    kb;];

fx=oilx( ox1, oy1, odx1, ody1, w);
fy=oily( ox1, oy1, odx1, ody1, w);
fx1=oilx( ox3,oy3-oy4,odx3,ody3-ody4,w);
fy1=oily( ox3,oy3-oy4,odx3,ody3-ody4,w);

F=[   fx;
      fy-m1*g;
      m2*e*w^2*cos(w*t);
      m2*e*w^2*sin(w*t)-m2*g;
      fx1;
      fy1-m1*g;
      -fy1-m3*g ];
   
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);
d=zeros(N,1);
for i=1:1:N/2
    d(i)=y2(i,1);
    d(i+N/2)=yy2(i,1);
end



错误提示:

??? Input argument "t" is undefined.
Error in ==> fun at 85
F=[   fx;


我弄不清楚t应该在哪里该怎么样定义。
回复
分享到:

使用道具 举报

发表于 2007-5-24 18:09 | 显示全部楼层
楼主还是那个松动故障的程序吗,t不是函数的自变量吗?
发表于 2007-5-24 19:43 | 显示全部楼层

回复 #1 pwangeng 的帖子

fx=oilx( ox1, oy1, odx1, ody1, w);
fy=oily( ox1, oy1, odx1, ody1, w);
fx1=oilx( ox3,oy3-oy4,odx3,ody3-ody4,w);
fy1=oily( ox3,oy3-oy4,odx3,ody3-ody4,w);
这个里面的oilx在那里,没定义吧
发表于 2007-5-24 19:45 | 显示全部楼层

回复 #1 pwangeng 的帖子

t在F前面定义就可以
发表于 2007-5-24 20:01 | 显示全部楼层
原帖由 pwangeng 于 2007-5-24 17:56 发表
function d=fun(t,y,w)

N=14;
y=zeros(N,1);
w=2100;
m1=4;
m2=32.1;
m3=50.0;
g=9.81;
e=0.00005;
c=0.00011;
k=2.5e7;
delta2=0.6e-3;
c1=1050;
c2=2100;
k1=7.5e7;
k2=2.5e9;
cb1=350;
...


请先看看置顶帖:聚宝盆, 然后看看里面提到的精华贴
 楼主| 发表于 2007-5-25 12:20 | 显示全部楼层
不好意思,其实这个程序并不存在错误问题,只是昨天我拿函数M文件直接运行了,毕业设计做头晕了,呵呵。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-3-29 22:44 , Processed in 0.077525 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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