
Problemas con ciclo :(
Publicado por Olivia (2 intervenciones) el 12/04/2017 02:36:49
Estoy trabajando en un codigo el cual depende del angulo de rotacion del sistema, el cual esta condicionado a que una vuelta es 2*pi
Entonces, si el angulo es mayor, mi intensión es que reinicie a cero y vuelva a hacer el mismo ciclo y asi sucesivamenrte hasta el tamaño total de el angulo de rotacion, pero no lo hace correctamente
Alguien me podria ayudar? GRACIAS!!!!
Entonces, si el angulo es mayor, mi intensión es que reinicie a cero y vuelva a hacer el mismo ciclo y asi sucesivamenrte hasta el tamaño total de el angulo de rotacion, pero no lo hace correctamente
Alguien me podria ayudar? GRACIAS!!!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
i=0;
suma=1;
for ti=dt:dt:T
i=i+1;
tetha1=atan((e1+(rsecc(nuF).*(1-mi)))./(rsecc(nuF).*sqrt(mi*(2-mi))));
tetha2=(pi/2)+acos(1-mi);
tetha(i)=(0.5*aceleracion*ti^2)+(vini*ti)+posin;
for ii=1:length(t)
if t(ii)>=(-vini+(vini^2+4*aceleracion*pi*Nc)^.5)/aceleracion;
tciclo(:,Nc+1)=t(ii);
Nc=Nc+1;
tprint=(-vini+(vini^2+4*aceleracion*pi*Nc)^.5)/aceleracion;
end
if Nc==Nciclos,break, end
end
while t(i)==ttotal
if tetha(i)<=2*pi;
if 0<=tetha(i) & tetha(i)<tetha1
disp('Abierta');
fprintf(1,'%10.3f\n',tetha (i))
elseif tetha1<=tetha(i) & tetha(i)<(pi+alfaT)/2
disp('semiabierta');
fprintf(1,'%10.3f\n',tetha (i))
elseif ((pi+alfaT)/2)<=tetha(i) & tetha(i)<=(3*pi-alfaT)/2
disp ('Cerrada');
fprintf(1,'%10.3f\n',tetha (i))
elseif (pi-alfaT)/2<=tetha(i) & tetha(i)<(2*pi-tetha1)
disp('semiabierta1');
fprintf(1,'%10.3f\n',tetha (i))
elseif (2*pi-tetha1)<=tetha(i) & tetha(i)<2*pi
disp('Abierta1');
fprintf(1,'%10.3f\n',tetha (i))
else tetha(i)>2*pi;
tetha(i)=tetha(i)-2*pi;
tprint=sqrt(4*pi*suma/aceleracion);
tetha(i)=(0.5*aceleracion*tprint^2)+(vini*tprint)+posin;
if 0<=tetha(i) & tetha(i)<tetha1
disp('Abierta3');
fprintf(1,'%10.3f\n',tetha (i))
elseif tetha1<=tetha(i) & tetha(i)<(pi+alfaT)/2
disp('semiabierta3');
fprintf(1,'%10.3f\n',tetha (i))
elseif ((pi+alfaT)/2)<=tetha(i) & tetha(i)<=(3*pi-alfaT)/2
disp ('Cerrada2');
fprintf(1,'%10.3f\n',tetha (i))
elseif (pi-alfaT)/2<=tetha(i) & tetha(i)<(2*pi-tetha1)
disp('semiabierta4');
fprintf(1,'%10.3f\n',tetha (i))
elseif (2*pi-tetha1)<=tetha(i) & tetha(i)<2*pi
disp('Abierta4');
fprintf(1,'%10.3f\n',tetha (i))
continue
end
end
end
end
end
Valora esta pregunta


0