913913 发表于 2006-11-11 22:04

求助

function    changdu=h(t)
Lt=30;B=5;e=2;a=pi/30;w=20*pi;
r=Lt*tan(a)+e;
t=0:0.0001:0.1;                        
t1=asin(B/r)/w;
if    0<t<=t1;
    f1=1;               
else
    if
t1=asin(B/r)/w;
t2=pi/w-t1;
t1<=t<=t2;
    f1=2;
    else
      if
          t1=asin(B/r)/w;            
          t2=pi/w-t1;
          t3=pi/w+t1;
          t2<=t<=pi/w;
            f1=3;
      else
            if
            t1=asin(B/r)/w;            
            t2=pi/w-t1;
            t3=pi/w+t1;
            t4=2*pi/w-t1;
            t3<=t<=t4;
                f1=4;
         else
            t1=asin(B/r)/w;            
            t2=pi/w-t1;
            t3=pi/w+t1;
            t4=2*pi/w-t1;
            t4<=t<=2*pi/w;
                f1=5;
          end
       end
   end
end
plot(t,f1,'r');

xjzuo 发表于 2006-11-11 23:29

回复

t是向量,不要用0<t<=t1之类的语句;(0<t 或 t<t1都会得到布尔系列)
另外注意是elseif而不是你的写法.
程序中错误太多,建议找一本Matlab的书, 看一下if语句和switch语句的用法.

[ 本帖最后由 xjzuo 于 2006-11-12 21:58 编辑 ]

xjzuo 发表于 2006-11-12 10:03

猜了一下你要表达的意思,图形是几个台阶.
页: [1]
查看完整版本: 求助