El presente documento cuenta con una serie de ejemplos donde se muestra como realizar la transformada y anti-transformada de Laplace con Matlab. También se presentan funciones operacionales hipotéticas y se muestra como calcular la ganancia, los polos los ceros;así como también se presentan los scripts para realizar las respectivas gráficas de Bode, Nyquist, lugar geométrico de raíces y respuestas a diferentes excitaciones de entrada.
Laboratorio1 -Teoría de los circuitos: Uso de Matlab
1. TEORÍA DE LOS CIRCUITOS
LABORATORIO Nº1:
“Utilización de MATLAB como herramienta de
trabajo para la resolución de problemas”
2. Teoría de los Circuitos 28 de septiembre de 2012
Introducción:
En el presente informe se expone en primera instancia los ejercicios propuestos en la
guía del laboratorio de utilización de Matlab, y luego se presenta una función en el
dominio de las frecuencias y mediante la ejecución de programas bajo Matlab se realiza
el análisis de polos, ceros, ganancias, lugar geométrico de raíces, y sus respectivas
graficas de módulo y fase mediante diagramas de Bode.
2
3. Teoría de los Circuitos 28 de septiembre de 2012
Ejercicios propuestos:
Aquí se procede a hallar las transformadas inversas de Laplace y luego a verificar los
resultados mediante la transformada de Laplace de los resustados obtenidos. Estas
operaciones se realizan mediante programación en Matlab, comandos utilizados:
Transformada de Laplace:
clear all; % Limpia todas las
variables usadas en el software
clc; % limpia la pantalla de
comandos
syms t; % se define la variable
simbólica t
fun_t = input('Funcion temporal : '); % imprime en la ventana
de comandos el texto entre comillas
% quedando en espera del
ingreso de la
% función que se va a
adquirir (en variable fun_t) desde la
%ventana de comandos
pretty(fun_t); % muestra de manera
ordenada la función ingresada.
fun_S = laplace(fun_t); % comando que obtiene la
transformada de Laplace. (se guarda en fun_s)
disp('Funcion en plano S:'); %imprime en la ventana de
comandos el texto entre comillas
pretty(fun_S);
Antitransformada de Laplace:
clear all;
clc;
syms s;
fun_s=input('Funcion en plano S: '); %toma la funcion
ingrasada por teclado y la guarda en fun_s
fun_t=ilaplace(fun_s); %Calculo de la
transformada Inversa de Laplace
pretty(fun_s);
disp('Funcion temporal:');
pretty(fun_t);
3
4. Teoría de los Circuitos 28 de septiembre de 2012
Función a analisar:
Resultados obtenidos:
Función a analisar:
Resultados obtenidos:
4
5. Teoría de los Circuitos 28 de septiembre de 2012
A continuación se presenta el análisis realizado para obtener los polos, los ceros y la ganancia
de dos funciones de transferencias, mediante el siguiente código en Matlab:
clear all;
clc;
num=input('Coeficientes del Numerador []: ');
den=input('Coeficientes del Denominador []: ');
disp('CEROS-POLOS-GANANCIA')
%Muestra el texto entre comillas en ventana de comandos
[z,p,k]=tf2zp(num,den)
% instrucción que calcula los ceros polos y G
% z=ceros
% p=polos
% k=ganancia
Función a analisar:
Resultados obtenidos:
5
6. Teoría de los Circuitos 28 de septiembre de 2012
Por lo tanto la función de transferencia se puede escribir como una combinación de productos
de sus polos (denominador) y ceros (numerador), de la siguiente manera:
Función a analisar:
Resultados obtenidos:
Por lo tanto la función de transferencia se puede escribir como una combinación de productos
de sus polos (denominador) y ceros (numerador), de la siguiente manera:
6
7. Teoría de los Circuitos 28 de septiembre de 2012
Finalmente proponemos una función operacional para terminar con nuestro análisis:
Nota: En este caso la función propuesta pertenece al ítem ‘’e) ’’ del ejercicio 2 del trabajo
práctico 5
Cálculo de residuos:
Código en Matlab:
%Desarrollo en fracciones parciales
%Ejemplo:
%El polinomio = 2*s^3+5*s^2+3*s+6/s^3+6*s^2+11*s+6
%En este caso el:
% numerador: [2 5 3 6]
% denominador: [1 6 11 6]
clear all;
clc;
num=input('Coeficientes del Numerador []: ') % en la variable
num se guardan los coeficientes del
%numerador
ingresados por teclado en forma de vector
den=input('Coeficientes del Denominador []: ') % en la variable
den se guardan los coeficientes del
%denominador
ingresados por teclado en forma de vector
disp('Funcion en plano S:');
ft=tf([num],[den]) % halla la
función de transferencia a partir de los
% coeficientes
del numerador y denominador y muestra
% dicha función
en la ventana de comandos
disp('RESIDUOS-POLOS-CONSTANTE');
[r,p,k]=residue(num,den) %Comando que
obtiene los residuos, polos y el termino
%independiente
% r =residuos
% p=polos
% k=término independiente
7
8. Teoría de los Circuitos 28 de septiembre de 2012
Resultados:
Coeficientes del Numerador []: [1620 3240 81000]
num =
1620 3240 81000
Coeficientes del Denominador []: [1 1800 810000]
den =
1 1800 810000
Funcion en plano S:
Transfer function:
1620 s^2 + 3240 s + 81000
-------------------------
s^2 + 1800 s + 810000
RESIDUOS-POLOS-CONSTANTE
r=
1.0e+009 *
-0.0029
1.3094
p=
-900.0000
-900.0000
k=
1620
Por lo tanto, conociendo estos resultados, podemos expresar la función de la siguiente
manera:
8
9. Teoría de los Circuitos 28 de septiembre de 2012
Respuesta temporal frente a diferentes entradas:
clear all;
clc;
s=tf('s'); % se declara a “s”
como variable de la función de transferencia.
%Respuesta al
impulso
fun_s=input('Funcion en el dominio s: ');
figure(1); % crea una ventana
de grafica llamada figure 1
impulse(fun_s),grid on; % grafica la
respuesta al impulse de la función de transferencia
%respuesta al
escalon
figure(2); % crea una ventana
de grafica llamada figure 2
step(fun_s),grid on; % grafica la
respuesta al escalón de la función de transferencia
%respuesta a rampa
fun_s2 = fun_s * (1/s); % por propiedad de
Laplace
figure(3);
step(fun_s2),grid on;
Gráfico de respuesta al impulso:
9
10. Teoría de los Circuitos 28 de septiembre de 2012
Gráfica de respuesta al escalón unitario:
Gráfica de respuesta a la función rampa:
10
11. Teoría de los Circuitos 28 de septiembre de 2012
Configuración de polos y ceros, lugar geométrico de las raíces :
Código en Matlab:
clear all;
clc;
num=input('Coeficientes del Numerador []: ');
den=input('Coeficientes del Denominador []: ');
rlocus(num,den), grid on;
%Muestra el lugar geométrico de las raíces
Grafico del lugar geométrico de las raíces:
11
12. Teoría de los Circuitos 28 de septiembre de 2012
Respuesta en frecuencia, gráfico de bode:
Código en Matlab:
clear all;
clc;
s=tf('s');
funs=input('ingrese la función de transferencia: ');
bode(funs),grid on;
Diagrama de Bode obtenido:
12
13. Teoría de los Circuitos 28 de septiembre de 2012
Conclusión:
En el presente informe de laboratorio queda en evidencia la potencia del software utilizado,
Matlab; con el mismo se pudo desarrollar diferentes cálculos y analizar la respuesta de un
sistema, definido nada más que por su función operacional, a diferentes entradas de manera
sumamente sencilla y rápida. Así se puede concluir que la implementación de Matlab en el
análisis circuital resulta sumamente útil y confiable, debido a su gran precisión tanto en
cálculos como en gráficos y a su velocidad de proceso.
13