Matlab - pasar un programa a GUI

 
Vista:

pasar un programa a GUI

Publicado por Fernando (2 intervenciones) el 12/12/2013 04:11:31
Buenas noches

Alguien podria ayudarme. estoy tratando de pasar un programa a GUI.
el programa es un sistema mecanico (masa, resorte, amortiguador)
este s el programa:

%Sistema Masa-Resorte-Amortiguador
%Constantes a utilizar
%M -> Masa del móvil
%K -> Constante Elástica del Resorte
%C -> Coeficiente de Amortiguamiento
%f(t) -> Fuerza aplicada al sistema
%y(t) -> Desplazamiento de la masa {Salida del Sistema}

%La ecuación que modela el sistema esta descrita por un sistema fisico en
%equilibrio

%f(t) = M*a(t) + C*v(t) + K*y(t)

%Donde
%a(t) = y''(t)
%v(t) = y'(t)

%Supondremos para este ejercicio que las condiciones iniciales del sistema
%son 0 para t = 0, es decir, se encuentran en reposo.

%Comienzo del Código de Matlab
display('Simulacion de la respuesta de un Sistema Masa-Resorte-Amortiguador')
%Variables Simbólicas
syms t
y = sym('y(t)');
y1 = sym('diff(y(t),t)');
y2 = diff(y1,t);

%Declaración de Constantes
display('Datos del Sistema')
M = input('Ingrese la masa del Móvil: ');
C = input('Ingrese el Coeficiente de Amortiguamiento: ');
K = input('Ingrese la Constante Elástica del Resorte: ');


%Declaración de la función
display('Función del Sistema')

f = M*y2 + C*y1 + K*y

%Transformada de Laplace
lf = laplace(f);

%Sustitución de Condiciones Iniciales
nf = subs(lf,{'D(y)(0)','y(0)'},{0,0});
display('Transformada F(s)')
Fs = subs(nf,{'laplace(y(t), t, s)'},{'Y(s)'})
Fs = collect(Fs,'Y(s)');

%Función de transferencia
Hs = 'Y(s)'/Fs;

[num den] = numden(Hs);

num = sym2poly(num);
den = sym2poly(den);

H = tf(num, den)

%Diagrama de Polos y Ceros
pzmap(H),title('Mapa de Polos - Ceros'), sgrid

damp (H);

if isstable(H)
display('El Sistema es Estable, sus Polos se encuentran del lado izquierdo')
else
display('El Sistema es Inestable Guapura')
end

display('Presiona cualquier tecla para continuar...')
pause

%Respuesta a un Escalon Unitario
display('Respuesta en Escalon Unitario')
display('Entrada del Sistema')
xt = heaviside (t)
display('Transforada de Laplace de la Entrada')
Xs = laplace(xt)

%Producto de Función de transferencia y Excitación
display('Salida del Sistema con Escalon Unitario')
Ys = Hs*Xs

[num den] = numden(Ys);

num = sym2poly(num);
den = sym2poly(den);

%Fracciones parciales
[r, p, k] = residue(num, den);

%Transformada Inversa de Laplace
display('Transformada Inversa')
yt = ilaplace(Ys)

%Respuesta en el Tiempo para Escalon Unitario
display('Salida del Sistema en el Dominio del Tiempo')
pretty(yt)

%Graficación de la Respuesta

%Linea de Tiempo
wn=sqrt(K/M);
t=linspace(0.5*(2*pi/wn),300);
%Función Escalon Unitario
fst=ones(size(t));
%Simulacion de la Respuesta del Sistema H, al estimulo fst
y=lsim(H,fst,t);

%Grafica de la Respuesta
figure,plot(t,y,'linewidth',2),title('Respuesta de Sistema a un Escalon Unitario')



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