Matlab - Problemas con ciclo :(

 
Vista:
Imágen de perfil de Olivia

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!!!!


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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ricardo
Val: 60
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Problemas con ciclo :(

Publicado por Ricardo (42 intervenciones) el 22/04/2017 03:04:25
No lo estas condicionando correctamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar