Red de conocimiento informático - Aprendizaje de programación - Programa Matlab para dibujar curvas de perfil de leva

Programa Matlab para dibujar curvas de perfil de leva

h=15;

b=90*pi/180;

r0=30;

e=5;

rr= 6;

w=10;

s0=sqrt(r0*r0-e*e);

para i=1:1:90;

sita(i)=i*pi/180.0;

s1=h*(sita(i)./b-sin(2*pi*sita(i)./b )/(2*pi));

v1=h*w./b-w*h*cos(sita(i)*2*pi./b)./b;

a1=sin(sita(i).*2.*pi./b)*w.^2.*2*pi./(b.^2);

j1=cos( sita(i).*2.*pi./b)*w.^3.*4.*pi.^2./(b.^3);

x(i)=( ss1)*sin(sita(i))+e*cos(sita(i));

y(i)=(ss1)*cos(sita(i)) -e *sin(sita(i));

a(i)=(ss1)*cos(sita(i))-e*sin(sita(i)); p> bb(i)=(ss1)*sin(sita(i))-e*cos(sita(i));

xx(i)=x(i)-rr* bb(i)./sqrt(a(i)*a(i)+bb(i)*bb(i));

yy(i)=y(i)-rr*a( i)./sqrt(a(i)*a(i)+bb(i)*bb(i));

alpha(i)=atan((v1-e)./(s0 +s1));

fin

for i=91:1:180;

sita(i)=i*pi/180;

s2=h;

v2=0;

a2=0;

j2=0;

x( i)=(s s2)*sin(sita(i))+e*cos(sita(i));

y(i)=(ss2)*cos(sita(i) )-e*sin(sita(i));

a(i)=(ss1)*cos(sita(i))-e*sin(sita(i)); p> p>

bb(i)=(ss1)*cos(sita(i))-e*sin(sita(i));

bb(i)=(s0) +s1 )*sin(sita(i))-e*cos(sita(i));

xx(i)=x(i)-rr*bb(i)/sqrt(a( i) *a(i)+bb(i)*bb(i))

yy(i)=y(i)-rr*a(i)/sqrt(a(i)*a (i )+bb(i)*bb(i));

alfa(i)=atan((v2-e)/(ss2));

fin

p>

for i=181:1:270;

sita(i)=i*pi/180;

s3 =-h*(( sita(i) -3*pi/2)/b-sin(2*pi*(sita(i)-3*pi/2)/b)/(2*pi));

v3=h* w/b+h*w/b*cos(2*pi*(sita(i)-3*pi/2)/b);

a3=-h*(w ^2) * 2*pi/(b^2)*sin(2*pi*(sita(i)-3*pi/2));

j3=-h*w^3* 4*p

i^2/(b^3)*cos(2*pi*(sita(i)-3*pi/2));

x(i)=(ss3)*sin( sita(i))+e *cos(sita(i));

y(i)=(ss3)*cos(sita(i))-e*sin(sita(i) );

a(i)=(ss3)*cos(sita(i))-e*sin(sita(i));

bb(i)= (ss3) *sin(sita(i))-e*cos(sita(i)) ;

xx(i)=x(i)-rr*bb(i)/sqrt( a(i)*a(i)+bb(i)*bb(i));

yy(i)=y(i)-rr*a(i)/sqrt(a(i) ) )*a(i)+bb(i) *bb(i));

alfa(i)=atan((v3-e)/(ss3));

fin

for i=271:1:360;

sita(i)=i*pi/180;

s4=0;

p>

v4=0;

p> a4=0;

j4=0;

x(i)=(s0 +s4) *sin(sita(i))+e*cos(sita(i));

y(i)=(ss4)*cos(sita(i))-e* sin(sita(i));

a(i)=(s0 +s4)*cos(sita(i))-e*sin(sita(i)); > bb( i)=(ss4)*sin(sita(i))-e*cos(sita(i)

xx(i)=x(i)-rr*bb); (i) /sqrt(a(i)*a(i)+bb(i)*bb(i));

yy(i)=y(i)-rr*a(i) /sqrt( a(i)*a(i)+bb(i)*bb(i));

alfa(i)=atan((v4-e)/(ss4))

p>

Fin

El principal problema es que la variable b =90*pi/180 definida al principio es una constante escalar

Luego b(i) se usa en el cálculo del bucle. El resultado es una matriz

Debes tener demasiadas variables confundidas aquí

La b al principio y la matriz b(i) ) deben ser dos variables diferentes

p>

Así que cambié el nombre de la matriz bb y no informó ningún error

También puedes cambiar el nombre de b

al principio.