Matlab - cambiar paramtros de entrada a rutina.

 
Vista:

cambiar paramtros de entrada a rutina.

Publicado por miGuel (2 intervenciones) el 26/12/2007 11:22:53
Buenos dias, estoy realizando una rutina de un programa de simulacion, el cual es un programa .m . Esta funcion tiene dos parametros de entrada que varian entre un maximo y un minimo, y lo que quiero hacer es que se vayan modificando de forma automatica, empezando desde el minimo, incrementandose automaticamente cada uno de los dos parametros, pero de forma independiente, hasta llegar al maximo, una vez que se realizado el incremento deseo que se visualice las formas de onda durante un tiempo y se cierre la ventana de grafico, se incremente el parametro y se vuelva a visualizar las formas de onda durante un tiempo , asi sucesivamente hasta llegar a los valores maximos.
Agradeceria sugerencias para realizar esta rutiona de incremento y visualizacion temporizada.

Muchas 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

RE:cambiar paramtros de entrada a rutina.

Publicado por Kike (304 intervenciones) el 26/12/2007 15:21:45
disp('Ingrese los valores mínimos y máximos de amplitud y frecuencia.');
fmin=input(' Valor minimo de frecuencia: ');
fmax=input(' Valor maximo de frecuencia: ');
amin=input(' Valor minimo de amplitud: ');
amax=input(' Valor maximo de amplitud: ');

x=0:0.01:10;
salir=0; % condición de salida del bucle while

% se ejecuta el bucle mientras la frecuencia máxima sea mayor que la
% mínima, o mientras la amplitud máxima sea mayor que la mínima
while salir==0;
y=amin*sin(fmin*x); % función de x
plot(x,y); % grafico la función de x
xlabel('Tiempo');
ylabel('Amplitud');
title(sprintf('%1.3fsin(%1.3fx)',amin,fmin));
grid on;
pause(3); % hago una pausa de 3 segundos
if fmax>fmin
fmin=fmin+1; % incremento el valor del mínimo de la frecuencia en una unidad hasta que llegue a ser
% igual que el máximo valor.
end
if amax>amin
amin=amin+0.1; % incremento el valor de la amplitud en 0.1 hasta que sea igual que el valor máximo
end
if amax==amin && fmax==fmin
salir=1;
pause off;
end
end
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

RE:cambiar paramtros de entrada a rutina.

Publicado por miGuel (2 intervenciones) el 27/12/2007 12:06:43
muchas gracias por la rutina, pero me ha surgido una duda, se podira hacer el incremento activado por teclado, es decir, cada vez que pulsara una tecla se incrementara?
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

RE:cambiar paramtros de entrada a rutina.

Publicado por Kike (304 intervenciones) el 27/12/2007 16:15:46
Sí es posible. Lo que hay que hacer es quitar el tiempo de la pausa y dejar sólo pause, y de esta manera la pausa es indeterminada y el programa sigue avanzando cuando el usuario presiona cualquier tecla. Ejemplo:

for k=1:4
fprintf(' k=%d ',k);
disp(' Presione cualquier tecla para continuar...');
pause; % pausa indeterminada
end
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