QJ120 发表于 2014-9-9 18:33

MATLAB中if语句没有运行自己的程序,想用for中嵌套if运行程序

本帖最后由 QJ120 于 2014-9-9 22:17 编辑

clear
clc
tic
n=1000;
h=linspace(0,0.15,n);
ii=2;
r2=0.006;
a1=0.045;
a2=0.045;
d=0.0263;
c=0.03;
r3=0.008;
r=0.0906;
sd2=h/r2;
sd1=sd2/ii;
s=sd2*r;
af1=atan(r3/c);
k=ceil(2*sd1/pi);%af1因为sd1每改变90°而发生一次变化。从-1到0再到1再到-1。。。一直循环
l=mod(k,4)==0;
af=af1.*(0.50000000050000+0.49999999950000.*((-1).^k)).*(-1).^l;
p=d./tan(af)+a1;%af正负一的改变时程序成功的关键。
ds=s(2)-s(1);
dbd=ds./p;
bd=cumsum(dbd);
dy=ds*cos(bd);
dx=-ds*sin(bd);
x=cumsum(dx);
y=cumsum(dy);
xb=x-(a1+a2).*cos(bd);
yb=y-(a1+a2).*sin(bd);
xc=x-a1*cos(bd)-d*sin(bd);
yc=y-a1*sin(bd)+d*cos(bd);
plot(x,y,'b',xb,yb,'r',xc,yc,'m');
hold on
toc

页: [1]
查看完整版本: MATLAB中if语句没有运行自己的程序,想用for中嵌套if运行程序