zebrajack 发表于 2007-3-21 00:38

大家帮帮忙呀!!急死了

pi=3.1415;L1=.066;L3=0.34;L4=0.3;L5=0.25;L6=0.48;L7=0.18;Xz=0;Yz=.44;Xd=0.32;Yd=-.3;
E=1.35;R5=0.14;D1=0.4386;
t=0:360;FIAa=4*pi*t/720;
THADAd=atan(0.3/0.32);
thetaE=acos((L3^2+L5^2-L6^2)/(2*L3*L5));P=sqrt(L1^2+D1^2-2*L1*D1*cos(FIAa+THADAd));
LANBUTA=acos((P.^2+D1^2-L1^2)./(2*P*D1));YITA=acos((P.^2+L4^2-L3^2)./(2*P*L4));
for a=1:length(t);
if t(a)<=180 & t(a)>=0
FIAd=pi-THADAd-LANBUTA-YITA;
else
FIAd=pi-THADAd+LANBUTA-YITA;
end;
end;
plot(t,FIAd)

本来画的图FIAd 是个分段函数,但matlab却只按照else后面的FIAd=pi-THADAd+LANBUTA-YITA;的来画,咋回事呀

xjzuo 发表于 2007-3-21 22:37

去掉循环, 改用F(t).*(t<=180 & t>=0)...的形式即可.

[ 本帖最后由 xjzuo 于 2007-3-21 22:41 编辑 ]
页: [1]
查看完整版本: 大家帮帮忙呀!!急死了