Академический Документы
Профессиональный Документы
Культура Документы
UP
CURSO BSICO DE
MATLAB
INTRODUCCIN AL MATLAB
-2-
INTRODUCCIN AL MATLAB
NDICE
CAPTULO I. INTRODUCCIN............................................................................................5
1.1 El programa MATLAB. .....................................................................................................................................................5
1.2 Ventanas en MATLAB.......................................................................................................................................................5
1.2.1 Ventana de Comandos...............................................................................................................................................5
1.2.2 Ventana de grficos....................................................................................................................................................5
1.2.3 Ventana de edicin .....................................................................................................................................................5
1.3 Entrada - salida ....................................................................................................................................................................6
1.3.1 Tipo de dato.................................................................................................................................................................6
1.4 Salida por pantalla ...............................................................................................................................................................6
1.4.1 Salida de pgina ..........................................................................................................................................................6
1.5 Formato de salida ................................................................................................................................................................6
1.6 Comandos generales que se deben recordar...................................................................................................................7
1.6.1 Comandos que brindan informacin del d irectorio ...............................................................................................7
-3-
INTRODUCCIN AL MATLAB
CAPTULO 3. FICHEROS EN MATLAB .......................................................................... 16
3.1 Ficheros de comandos.......................................................................................................................................................17
3.2 Establecimiento del camino de bsqueda......................................................................................................................19
-4-
INTRODUCCIN AL MATLAB
Captulo I: Introduccin
1.1 El programa MATLAB
MATLAB es el nombre abreviado de MATrix LABoratory. Es un programa para realizar
clculos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros
escalares, tanto reales como complejos. Una de las capacidades ms atractivas es la de realizar
una amplia variedad de grficos en dos y tres dimensiones. MATLAB tiene tambin un lenguaje
de programacin propio. Es, para muchos, el paquete ms usado en ingeniera en la actualidad.
Numerosas firmas y grupos en el mundo hacen macros o juegos de funciones y comandos
poderosos, por supuesto a partir de algunos de los que se vern aqu, que se conocen en el
mundo con el nombre de toolbox, y que resuelven problemas de ramas especficas, tales como
el control automtico, control no lineal, identificacin, grficos, matemtica simblica,
estadsticas, redes neuronales, fuzzy, procesamiento de seales, etc., y todos los aos aparecen
nuevos y mejores.
-5-
INTRODUCCIN AL MATLAB
31.4159
3.1416e+001
31.41592653589793
3.141592653589793e+001
403f6a7a2955385e
3550/113
31.42
-6-
INTRODUCCIN AL MATLAB
Los formatos adicionales: format compact (suprime una lnea posterior) y format loose (pone
una lnea posterior) controlan el espacio por encima y por debajo de la presentacin del nmero.
format + , visualiza el signo del nmero.
format short es el asumido.
-7-
INTRODUCCIN AL MATLAB
Suma
Resta
Multiplicacin
Divisin izquierda
Divisin derecha
Potencia
Es importante que no haya espacios antes o despus de los operadores de cualquier tipo, pues
puede producir errores.
MSC. JORGE LUIS DAZ RODRGUEZ
-8-
INTRODUCCIN AL MATLAB
Por teclado
Generadas por funciones
Creadas por los m- files
Cargadas desde un fichero de datos externo con el comando load.
A=
1 2 3
4 5 6
7 8 9
Se puede referir a un elemento de la matriz A, por ejemplo, A(i, j). Se trata del elemento de la
fila i y la columna j.
Los elementos de la matriz pueden ser, en general, expresiones:
x = [1 sqrt (23) 2 3*[a(1, 1) 3] ]
Interesante:
x = [1 2 3]
x (5) = - 2 entonces:
x = [ 1 2 3 0 - 2]
Grandes matrices pueden construirse a base de pequeas:
A = [A; 10 11 12]
A= 1
4
7
10
lo que produce
2 3
5 6
8 9
11 12
-9-
INTRODUCCIN AL MATLAB
Pequeas matrices pueden extraerse de grandes:
A = A(1: 3, 1: 2) Produce una matriz con las tres primeras filas y las dos primeras columnas de
A.
B = A(2, :) extrae la segunda fila de A.
ra
ta
ta
B = A(: , 3:5) extrae las columnas 3 , 4 y 5 de A.
Supongamos A = 1
5
0
3
B = A (1:2, 2:4)
B = A (1:2, 2)
2
6
0
4
3
7
0
2
4
8
0
1
B=2
6
B = A (:, 3) produce B = 3
7
0
2
B = A (1:3, :) produce B = 1 2 3 4
5 6 7 8
0 0 0 0
B = A (:) produce B = [1 2 3 4 5 6 7 8 0 0 0 0 3 4 2 1]
Se pueden generar vectores
y = m : n : p genera un vector con los elementos desde m hasta p con un incremento n. n
puede ser negativo. Si el incremento no se especifica se asume uno.
Permiten hacer cosas como stas:
x = 0: 0.2: 1;
y = exp(- x).*sin(x);
[x, y] produce
ans =
0
0
0.2000
0.1627
0.4000
0.2610
0.6000
0.3099
0.8000
0.3223
1.0000
0.3096
- 10 -
INTRODUCCIN AL MATLAB
La entrada de escalares es muy sencilla. Ejemplo:
g = 9.8
si X = 1 entonces Y = 0
2
2
3
3
2.4.3 Producto
Slo se puede resolver si las matrices son conformes al producto.
Si A = [ 1 2 3
y
x=[-1
4 5 6
0
7 8 0]
2]
b = A*x resulta
b=5
8
-7
Por supuesto que pi*x = -3.1416
0.0000
6.2832
2.4.4 Inversa
B = inv (A) calcula la matriz inversa de A cuadrada no singular.
- 11 -
INTRODUCCIN AL MATLAB
2.4.5 Divisin
Existen dos smbolos para dividir matrices / y \.
Si A es una matriz cuadrada no singular, entonces
B/A = B* inv(A) (Divisin derecha)
B\A = inv(B)*A (Divisin izquierda)
Es decir,
x = A\b es la solucin de A*x = b
Se pueden dividir dos vectores:
Recordemos que x = [-1 0 2]' y que y = [-2 -1 1] '
s = x\y produce
s = 0.800
Esto es debido a que s = 0.800 es el valor del escalar que resuelve la ecuacin
sobredeterminada x*s = y por mnimos cuadrados.
Sin embargo S = y/x produce una respuesta:
S = [0
0
0
0
0
0
-1
-0.5
0.5]
2.4.7 Determinante
B = det(A) calcula la determinante de A cuadrada.
A2 A3
+
+ .....
2!
3!
- 12 -
INTRODUCCIN AL MATLAB
diag(V)
triu(A)
tril(A)
rot90(A)
rot90(A, k)
fliplr(A)
flipud(A)
reshape (A, m, n)
Un ejemplo sera:
1
1
B = 1
0
0
1 1 0
1 1 0
1 1 0
0 0 4
0 0 0
0
0
0
4
- 13 -
INTRODUCCIN AL MATLAB
2.9 Polinomiales
poly permite encontrar los coeficientes del polinomio caracterstico de una matriz, por ejemplo:
A = [1 2 3
4 5 6
7 8 9];
p = poly (A) produce
p = [1 -15 -18 0]
- 14 -
INTRODUCCIN AL MATLAB
Para encontrar las races de la ecuacin caracterstica:
r = roots (p)
r=
16. 1168
- 1. 1168
0
Existen otras funciones:
polyval (p, x)
conv(p1, p2)
deconv(p1, p2)
polyfit(x, y, n)
- 15 -
INTRODUCCIN AL MATLAB
Los ficheros con datos tipo ASCII pueden ser cargados en el espacio de trabajo de MATLAB,
como una matriz rectangular de elementos numricos, en este caso MATLAB crea una variable
cuyo nombre coincidir con el nombre del fichero diary-files.
- 16 -
INTRODUCCIN AL MATLAB
Otra forma de salvar o recuperar lo realizado en una sesin de trabajo es usando el comando
diary. Esto permite almacenar en un fichero editable todos los comandos y funciones
utilizados en una sesin de MATLAB. Como salida puede ser utilizado un nombre de fichero
con cualquier extensin.
Para esto lo primero que hay que hacer es teclear diary seguido del nombre del fichero, por
ejemplo, diary seccion1.out. Despus de esto todos los comandos y funciones que sean
llamados, las sealizaciones de error, en caso de que stas existan, las respuestas de MATLAB,
es decir, todo, ser almacenado en este fichero, hasta tanto se termine la sesin o se teclee diary
off. Es posible adicionar cualquier otra sesin y para esto se teclea diary on, a partir de aqu
todas las operaciones que se realicen sern aadidas al fichero ya existente.
Este comando es muy til, ya que a travs de l es posible recordar o repetir los comandos
empleados en una sesin anterior. Adems, el fichero creado podr ser editado en cualquier
editor de textos e, incluso, puede ser convertido en un fichero .m (m- file), siempre que se
eliminen las lneas de error o todos los comandos y funciones que no sean necesarios para el
fichero m- file que se desee crear.
Mex-files. Son ficheros con extensin .mex y pueden ser llamados por los lenguajes Fortran y
C. El uso de estos ficheros requiere de alguna experiencia con el MATLAB y alguna paciencia.
- 17 -
INTRODUCCIN AL MATLAB
Funcin disp
disp (x) imprime la matriz x en pantalla sin imprimir el nombre.
Si x es un texto lo imprime. Si se desea imprimir ms de un parmetro, estos deben formar parte
de un vector y ser ambos cadenas. Veamos
A=2;
disp (['El resultado es ', num2str(A)])
num2str(A) convierte A a cadena y se imprime en pantalla
El resultado es 2
Ejemplo 1. Ejecutamos la opcin new de file y nos situamos en el editor de MATLAB y ah
escribimos:
% Esto es una prueba
wt = 0:0.1:4*pi;
y = sin (wt);
plot (wt, y) % traza la grfica del seno(x) desde cero a 4 radianes.
Usando la opcin save de file, de la ventana del editor, podemos grabar el fichero con el
nombre, por ejemplo, grafsin.m
El smbolo % significa que todo lo que se escriba a la derecha de l es un comentario. Aunque
MATLAB ignora los comentarios, forman parte del fichero.
Si en la ventana de comandos escribimos ahora el comando grafsin se obtendr una sinusoide
de 0 a 4 radianes.
Ejemplo 2. Escribir un programa que calcule la hipotenusa de un tringulo rectngulo
conociendo sus catetos.
%Hipotenusa
a = input ('Teclee el valor de un cateto ');
b = input ('Teclee el valor del otro cateto ');
c = sqrt (a^2+b^2);
disp (['La hipotenusa mide ', num2str(c)]);
Es importante conocer que la ejecucin de help nombre de fichero imprime en la ventana de
comandos las primeras lneas de comentarios.
Hay que tener cuidado con el nombre de las variables que se utilicen en el cuerpo del fichero, ya
que pasan a formar parte del espacio de trabajo y, de existir las mismas, tomaran un nuevo
valor.
- 18 -
INTRODUCCIN AL MATLAB
- 19 -
INTRODUCCIN AL MATLAB
Raz cuadrada
Valor absoluto, si es complejo devuelve la magnitud, si es un texto devuelve
los valores en ASCII.
Compleja conjugada
Parte entera
Parte imaginaria
Parte real
Redondea al entero inferior
Signo de funcin
Resto de la divisin Ej. rem(5,2) = 1
Seno
Coseno
Tangente
Arcoseno
Arcocoseno
Arcotangente
Arcotangente en los cuatro cuadrantes
Exponencial
Logaritmo natural
Logaritmo vulgar
- 20 -
INTRODUCCIN AL MATLAB
Las funciones siguientes devuelven un escalar si el argumento es un vector. Si es una matriz,
devuelven un vector fila con las operaciones de las columnas.
max
min
sum
cumsum
prod
cumprod
mean
std
median
sort
Valor mayor
Valor menor
Suma
Suma acumulativa
Producto de los elementos
Producto acumulativo
Valor medio
Desviacin estndar
Devuelve el valor central
Ordena de forma ascendente.
Menor que
Menor o igual que
igual a
desigual a
mayor o igual a
mayor que
Esta comparacin se hace elemento a elemento y resulta en una matriz donde sus elementos son
0 cuando es falso y 1 cuando es verdadero.
Una funcin interesante y muy til es la funcin find.
Su sintaxis es find (condicin) y encuentra los ndices de la matriz donde se cumple la
condicin.
Supongamos:
A = [2 4 5 7 4]
B = find (A/2 = = fix (A/2) ) produce un vector con los ndices de los elementos que son pares,
es decir:
B=[1 2 5]
Dos funciones tiles para generar vectores son:
linspace(a, b, n) Genera un vector linealmente espaciado de a hasta b con n puntos.
a
b
logspace(a, b, n) Genera un vector con espaciado logartmico desde 10 hasta 10 de
longitud n.
- 21 -
INTRODUCCIN AL MATLAB
and
or
not
or exclusivo
Estas operaciones, igual que las de comparacin, producen vectores y matrices con elementos
del tipo 0 - 1, del mismo tamao que los operandos, con uno si la condicin es verdadera y cero
si es falsa.
Ejemplo:
x = [0 5 3 7]
y = [ 0 2 8 7]
m = (x > y) & (x > 4)
m = [0 1 0 0]
n=x|y
n = [0 1 1 1]
Est claro que, como el resultado de estas operaciones es un vector con elementos del tipo 0-1,
ste se puede usar para extraer los elementos deseados. Por ejemplo:
x((x >y) & (x > 4))
ans =
5
- 22 -
INTRODUCCIN AL MATLAB
En caso de que sea necesario crear vectores columna cuyos elementos sean cadenas de
longitudes diferentes, se le adicionar a cada elemento (cadena) que as lo necesite, tantos
espacios en blanco como se requiera para lograr que la longitud de todos los elementos sea la
misma.
Una forma ms fcil de lograr esto es utilizando el comando str2mat, el cual convierte una
cadena a matriz.
str2mat(s1, s2, s3, ...,) coloca cada argumento s1, s2,... en una fila y crea una matriz cadena,
adicio nndole a cada fila el nmero de espacios en blanco que necesite.
Ejemplo:
equipos = str2mat ('monitor', 'impresora', plotter')
eval Calcula el valor de una cadena numrica.
t = '3+2';
eval (t) produce
ans =
5
- 23 -
INTRODUCCIN AL MATLAB
- 24 -
INTRODUCCIN AL MATLAB
- 25 -
INTRODUCCIN AL MATLAB
t = 0:0.01:9;
switch n
case 1
plot(t, sin(t));
case {2, 3}
plot(t, cos(t));
otherwise
disp ('Opcion incorrecta');
end
- 26 -
INTRODUCCIN AL MATLAB
- 27 -
INTRODUCCIN AL MATLAB
Captulo 7. Grficos
7.1 Grficos de una lnea
Existen varios tipos de grficos dependiendo del papel usado.
plot(x, y)
grfica lineal x vs. y.
loglog(x, y)
grfica loglog x vs. y
semilogx(x, y)
grfica eje x logartmico
semilogy(x, y)
grfica eje y logartmico
polar (theta, rho)
grfica polar
Se pueden adornar los grficos.
title ('Texto')
xlabel ('Texto')
ylabel ('Texto')
grid
text (x, y, 'Texto')
gtext ('Texto')
leyend('Trazo1', )
grid funciona como un switch. Si est puesta la malla la quita y viceversa. grid on la pone y
grid off la quita. Existen muchos comandos en MATLAB que funcionan de esta forma.
Si y es un vector, entonces plot (y) traza la grfica de y contra el ndice de y.
Si x y z son vectores de la misma longitud, entonces plot (x, z) traza la grfica de z contra x.
Por ejemplo
wt = 0 : 0.1 : 4 * pi;
y = sin(wt);
plot(wt, y)
%Produce la grfica del sen(wt) de 0 a 4*pi radianes.
hold Mantiene o no la ventana grfica para trazar otro grfico. Es un switch, de manera que
existen hold on y hold off.
figure Permite abrir otra ventana grfica y le pone el nmero consecutivo. Se puede abrir otra
ventana grfica y asignarle el nmero n con figure (n).
- 28 -
INTRODUCCIN AL MATLAB
Si y es un vector y x es una matriz se trazan las grficas de y contra cada columna o fila de x.
Si son matrices del mismo orden, se trazan las grficas columnas contra columnas.
Si tenemos plot(y) siendo y una matriz, se obtienen las grficas de cada columna contra su
ndice.
Otra forma de hacer grficos de varias lneas es:
plot (x1 , y1 , x2 , y2 , ..... , xn , yn )
sta tiene la ventaja de que se pueden obtener las grficas de parejas de vectores de diferentes
tamaos en la misma ventana grfica.
Los tipos de lneas se pueden definir:
plot(x, y, 'x') traza la grfica con el smbolo x.
plot(x1, y1, ': ' , x2, y2, '+') dibuja la primera con : y la segunda con +.
Otros smbolos usados pueden ser: -, --, :, ~, . , +, *, o, x.. Puede agregrsele otro carcter que
defina el color. Por ejemplo plot (x, y, 'y+'). Dibuja y contra x con el smbolo + y con el color
yellow. Los colores que se pueden usar son:
y - yellow
r - red
m - magenta
b - blue
c - cyan
w - white
g - green
k - black
- 29 -
INTRODUCCIN AL MATLAB
- 30 -
INTRODUCCIN AL MATLAB
- 31 -
INTRODUCCIN AL MATLAB
Ejemplo 2.
Supongamos la funcin de transferencia siguiente: G(s) = (s + 1) / (10s + 1)
g = tf([1 1],[10 1]);
t = 0: 0.1: 20;
x = sin (t);
y = lsim (g, x, t);
plot (t, y)
Algunas formas de conversin de modelos de sistemas.
tf2zp Convierte la funcin de transferencia normal a su expresin en ceros, polos y ganancia.
[z, p, k] = tf2zp (num, den)
Obtiene los ceros, los polos y la ganancia de la funcin de transferencia definida por num y den.
De forma inversa zp2tf obtiene los coeficientes del numerador y el denominador de la funcin
de transferencia en polos y ceros.
[num, den] = zp2tf (z, p, k) donde z y p son vectores y k es un escalar.
ss2tf Convierte el modelo en el espacio de estado a funcin de transferencia.
[num, den] = ss2tf (A, B, C, D, iu)
Se obtienen el numerador y el denominador de la funcin de transferencia conociendo las
matrices A, B, C y D del modelo de estado para la entrada i-sima.
Adems existen ss2zp, zp2ss y tf2ss.
Veamos algunos ejemplos
Ejemplo 3. Se desea obtener la respuesta del siguiente sistema para una entrada pulso dada por:
u(t)
0 t < 0
G ( s) =
a una entrada u ( t ) = 2 0 t < 2
s 2 + s +1
0.5 t 2
2
0.5
2
- 32 -
INTRODUCCIN AL MATLAB
u = 2*ones (size (t));
for i = find (t= =2): length (t)
u(i)=0.5;
end
y = lsim (g, u, t);
plot (t, u, t, y);
grid
axis ([0 15 0 4]);
Como en MATLAB existe la funcin stepfun(t, t0), que genera un escaln unitario en t0, se
podra resolver el problema de la forma siguiente:
t = 0:0.01:15;
y1 = 2*stepfun(t, 0);
y2 = 1.5*stepfun(t, 2);
y = y1-y2;
plot(t, y);
Ejemplo 4. Generalizar el programa anterior obteniendo la respuesta de cualquier sistema
definido por su funcin de transferencia a una funcin del tipo del ejemplo anterior, como se
muestra en la figura siguiente:
u(t)
a
b
c
- 33 -
INTRODUCCIN AL MATLAB
Si se hubiera escrito lsim (num, den, u, t) en la lnea 6, se hubiera trazado la grfica
directamente. Ahora se puede usar la funcin respulso dando los 6 parmetros: num, den, a, b, c
y d. Por ejemplo
y = respulso ([1 1], [1 2 1], 5, 1, 2, 20);
Ejemplo 5. Escribir un fichero comando para analizar la respuesta de un sistema lineal de 2do.
orden, con funcin de transferencia G(s)=1/(s2 +as+1), a un escaln unitario, variando el
parmetro a.
%Anlisis de la respuesta de un sistema de 2do. orden, con funcin de transferencia
%G(s)=1/(s2 +as+1), a un escaln unitario, variando el parmetro a.
num = [1];
t = 0:0.1:30;
b = 0;
for a = 0.5:0.5:6
b = b+1;
den = [1 a 1];
subplot (3, 4, b);
y= step(num, den, t);
plot (t, y);
axis ([0 30 0 2]);
grid;
text (5,1.5,'a=');
text (11,1.5, num2str(a));
end
Ejemplo 6. Encontrar la respuesta a escaln del circuito RLC que se muestra, suponiendo el
voltaje e como la entrada y el voltaje en el condensador como la salida.
R
L
i
Circuito RLC
La funcin de transferencia del circuito sera:
- 34 -
INTRODUCCIN AL MATLAB
Vc (s )
1
=
E (s) LC s 2 + RC s + 1
1 0
1
B =
0
C = [0 1] D = [0]
t = 0:0.1:10;
A=[-1 1;1 0];
B=[1;0];
C=[0 1];
D=[0];
sys = ss (A, B, C, D);
y = step (sys, t);
plot (t, y);
grid
Veremos algunos ejemplos ms donde introduciremos algunos comandos.
Ejemplo 8. Dado el sistema cuya funcin de transferencia se describe ms abajo, determine los
polos y los ceros y sitelos en el plano complejo s.
G( s) =
3s 2 + 5s + 7
s 4 + 3s 3 + 4s 2 + 2.5s + 0.8
- 35 -
INTRODUCCIN AL MATLAB
numG = [3 5 7];
denG = [1 3 4 2.5 0.8];
[z, p, k] = tf2zp (numG, denG); % z, p y k son los ceros, polos y ganancia respectivamente.
pzmap (numG, denG); % Traza los ceros y los polos en el plano s.
% pzmap (p, z) Tiene el mismo resultado que la lnea anterior.
z y p son los vectores de los ceros y los polos respectivamente.
Ejemplo 9. Dado el sistema cuya ft se muestra, encuentre la expansin en fracciones parciales y
su respuesta a impulso.
G ( s) =
3s + 2
2s + 4s 2 + 5s + 1
3
Y(s)
G(s)
H(s)
donde
G ( s) =
4s + 1
5s 2 + 3s + 2
H ( s) =
s+6
s 2 + 4s + 11
- 36 -
INTRODUCCIN AL MATLAB
Es un comando que permite acceder a un interfaz grfico y visualizar diferentes respuestas de
sistemas LTI (Linear Time Invariant) y sus parmetros ms importantes. Debemos definir
primeramente el sistema, por ejemplo, sys = tf (num, den) y luego ejecutar ltiview.
Las respuestas pueden ser a escaln (step), a impulso (impulse), diagrama de Bode (bode),
diagrama de Niquist (nyquist), diagrama de Nichols (nichols), diagrama Sigma (de valores
singulares), diagrama de polos y ceros ( Pole-Zero), respuesta a otra entrada (lsim) y respuesta
de un sistema en el espacio de estado slo con condicin inicial (initial).
- 37 -
INTRODUCCIN AL MATLAB
Para resolver este sistema de ecuaciones debemos plantearlo en la forma y'= f(t, y). Haciendo un
cambio de variables segn:
y' (1) = vc
y(2) = i
Las ecuaciones quedaran como
y(1) = y(2)
y' (2) = 1- y(2) - y(1)
Ahora creamos la funcin yprima = f2do (t, y).
function yprima = f2do (t, y)
yprima (1) = y(2);
yprima (2) = 1- y(1) - y(2);
yprima = yprima'; % Esto es producto de que yprima debe ser un vector columna.
Ahora podemos escribir
[t, y] = ode45 ('f2do', [0 10], [0 1]);
plot (t, y)
grid;
gtext ('Vc');
gtext ( 'i');
Se obtendra la grfica de la figura siguiente:
- 38 -
INTRODUCCIN AL MATLAB
q=
-4+5*exp(t)
De no escribirse la condicin inicial la respuesta estara en funcin de una constante.
Ejemplo 2.
Resolver la ecuacin diferencial y + y = 0 con y(0) = 1, y(0) = -1.
q = dsolve ('D2y+Dy = 0', 'y(0) = 1', 'Dy(0) = -1' )
q=
1/exp(t)
Ejemplo 3.
Encontrar la respuesta al circuito RLC con entrada e y salida vc y con parmetros unitarios, es
decir, v 'c = i ; i ' = 1 i v c .
q = dsolve ('DVc = I', 'DI = 1-I-Vc', 'Vc(0) = 0', 'I(0) = 1');
MATLAB almacena los resultados en un registro con dos campos: Vc e I. Para ver el resultado
debemos escribir q.Vc. Con q.I obtendramos la respuesta I(t).
q.Vc
ans =
1+1/3*exp(-1/2*t)*(3^(1/2)*sin(1/2*t*3^(1/2))-3*cos(1/2*t*3^(1/2)))
Ejemplo 4.
Resuelva el mismo ejemplo, pero suponga el modelo segn:
LC
d 2 v c (t)
dt
dv ( t )
+ RC c + v c ( t ) = e ( t ) , es decir,
dt
d 2 v c (t)
dt
dv c ( t )
+ v c (t ) = 1
dt
- 39 -
INTRODUCCIN AL MATLAB
Lo primero que se va a hacer es calcular la integral definida de esta funcin entre dos valores de
la abscisa x. En ingls, al clculo numrico de integrales definidas se le llama quadrature.
Sabiendo eso, no resulta extrao el comando con el cual se calcula el rea comprendida bajo la
funcin entre los puntos 0 y 1 (obsrvese que el nombre de la funcin a integrar se pasa entre
apstrofos, como cadena de caracteres):
area = quad ('prueba', 0, 1)
area =
29.8583
La funcin quad8() utiliza un mtodo de orden superior (Newton-Cotes), mientras que la
funcin dblquad() realiza integrales definidas dobles. Ver el help o los manuales on-line para
ms informacin.
- 40 -
INTRODUCCIN AL MATLAB
- 41 -
INTRODUCCIN AL MATLAB
- 42 -
INTRODUCCIN AL MATLAB
- 43 -
INTRODUCCIN AL MATLAB
- 44 -
INTRODUCCIN AL MATLAB
A
abs, 15
acos, 15
addpath, 14
ans, 10
asin, 15
atan, 15
atan2, 15
C
cd, 5
clc, 4
clear, 4
clf, 4
clock, 4
computer, 4
conj, 8, 15
conv, 11
cos, 15
cumprod, 15
cumsum, 15
flops, 4
fmin, 33
fmins, 33
format bank, 4
format compact, 4
format hex, 4
format long, 4
format long e, 4
format loose, 4
format rat, 4
format short, 4
format short e, 4
fourier, 35
fzero, 33
echo, 14
eps, 6
eval, 17
exist, 18
exit, 4
exp, 15
expm, 9
eye, 9
F
feedback, 29
figure, 22
find, 16
fix, 15
fliplr, 10
flipud, 10
nan, 6
num2str, 13
O
ode23, 30
ode45, 30
ones, 9
H
Heaviside, 35
help, 3
hold, 22
I
ifourier, 35
ilaplace, 35
imag, 15
impulse, 25
inf, 6
input, 13
int, 33
inv, 9
iztrans, 35
laplace, 34, 35
length, 15
linspace, 16
load, 12
log, 15
log10, 15
loglog, 22
logm, 9
logspace, 16
lookfor, 3
ls, 5
lsim, 25
ltiview, 29
M
max, 15
mean, 15
sort, 15
sqrt, 15
sqrtm, 9
ss, 25
ss2tf, 26
ss2zp, 26
std, 15
step, 25
stepfun, 26
str2mat, 17
subplot, 23
sum, 15
syms, 33
T
grid, 22
gtext, 22
L
E
D
date, 4
dblquad, 33
deconv, 11
delete, 24
demo, 4
det, 9
diag, 10
diary, 12
Dirac, 35
disp, 13
dsolve, 31
median, 15
mesh, 23
meshgrid, 23
min, 15
more, 4
Path Browser, 14
pause, 14
pi, 6
plot, 22
plot3, 23
polar, 22
poly, 11
polyfit, 11
polyval, 11
prod, 15
pwd, 4
pzmap, 29
tan, 15
text, 22
tf, 25
tf2ss, 26
tf2zp, 26
title, 22
tril, 10
triu, 10
W
what, 4
who, 4
whos, 4
workspace, 4
Q
quad, 32
quad8, 32
quit, 4
X
xlabel, 22
Y
R
rand, 10
real, 15
rem, 15
reshape, 10
residue, 29
roots, 11
rot90, 10
round, 15
ylabel, 22
Z
zeros, 10
zp2ss, 26
zp2tf, 26
zpk, 25
ztrans, 35
S
save, 12
semilogx, 22
semilogy, 22
Set Path, 14
shg, 4
sign, 15
sin, 15
size, 15
- 45 -