Matlab - Problema con loops y ciclos for

   
Vista:

Problema con loops y ciclos for

Publicado por Luisa Lopez natalia.trujillo.21@gmail.com (1 intervención) el 17/11/2011 03:48:08
Hola a todos...

Soy nueva con MATLAB, y estoy teniendo problemas para crear un loop en mi programa...
Estoy trabajando con mapeos de Poincaré (estudio Física) y mi primer problema
es que tengo dos puntos digamos
Puntoviejo=(q1,p1);
Puntonuevo=(q2,p2);
Y entre ellos quiero poner mil puntos.

La cuestion mas logica sería hacer incrementos y los defini como
N=1000; %Numero de puntos
deltaq=(q2-q1)/N;
deltap=(p2-p1)/N;

Y ahora viene mi ciclo for... Lo que yo quiero sería algo del estilo

- Empieza con punto viejo (q1,p1)
- Luego agrega delta en cada elemento de coordenada.
- Que guarde ese nuevo elemento en ManyPoints=(q3,p3)
- y que después de 1000 iteraciones llegue del punto viejo al punto nuevo

Y lo que tengo tiene mas o menos esta forma...
deltaq=(Puntonuevo(1,1)-Puntomapeo(1,1))./1000;
deltap=(Puntonuevo(1,2)-Puntomapeo(1,2))./1000;
for m=1:1000
for n=1:1000
qpunto(m)=Puntoviejo(1,1)+m*deltaq;
ppunto(n)=Puntoviejo(1,2)+m*deltap;
ManyPoints=[qpunto(m) ppunto(n)];
display(ManyPoints)
end;
end;

Alguien me puede ayudar? Gracias!!!

-
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

Problema con loops y ciclos for

Publicado por Jorge (226 intervenciones) el 17/11/2011 22:07:46
No entiendo lo que quieres hacer, pero suponiendo que quieras poner 1000 puntos en línea recta a partir de dos puntos dados, puedes hacer esto...

% Puntoviejo = (q1, p1);
% Puntonuevo = (q2, p2);

x = linspace(q1, q2, n);
y = linspace(p1, p2, n);

y lo puedes graficar
plot(x, y)

Por ejemplo:

% Puntoviejo = (0, 0);
% Puntonuevo = (3, 4);

x = linspace(0, 3, 1000);
y = linspace(0, 4, 1000);
plot(x, y)
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