Está en la página 1de 12

PRCTICAS DE TEORA DE CIRCUITOS

MANUAL DE MATLAB
TUTORIAL DE MATLAB

PRIMERA PARTE: INTRODUCCIN.

1.- LAS VENTANAS.

Por defecto, las ventanas que encontramos al abrir MATLAB son:

COMMAND WINDOW: Es la ventana principal y se utiliza para introducir variables y ejecutar
programas.
CURRENT DIRECTORY: Muestra los ficheros que hay en el directorio de trabajo actual.
COMMAND HISTORY: Almacena y visualiza los comandos que se introducen en la ventana de
comandos.

Al margen de stas, existen otras ventanas como:

FIGURE WINDOW: Se utiliza para visualizar grficos.
HELP WINDOW: Proporciona ayuda e informacin.
WOKSPACE WINDOW: Proporciona informacin sobre las variables utilizadas.
EDITOR WINDOW: Se usa para crear ficheros script y funciones MATLAB.

2.- UTILIZACIN DE LA VENTANA DE COMANDOS.

Para teclear un comando, el cursor debe estar situado despus del smbolo >>
Una vez que se pulsa Intro, el comando es ejecutado (slo se ejecuta el ltimo comando).
Se pueden introducir varios comandos en una sola lnea sin ms que poner una coma entre comando y
comando y, al pulsar Intro, todos los comandos se ejecutan de izquierda a derecha.
No es posible ir hacia arriba, a una lnea anterior, para realizar correcciones y reejecutar de nuevo un
comando.
Un comando puede ser invocado de nuevo utilizando las flechas arriba y abajo.
Si un comando es demasiado grande y ocupa ms de una lnea, puede distribuirse en una segunda
lnea tecleando al final de la primera puntos suspensivos () y tecleando Intro. Seguidamente, se
contina la escritura en la lnea siguiente.
EL PUNTO Y COMA (;): Cuando se teclea un comando y se pulsa Intro, el comando es ejecutado
inmediatamente y cualquier salida que genere dicho comando, se visualizar en la Ventana de
Comandos. En cambio, si se teclea punto y coma al final de un comando, la salida de dicho comando
no ser visualizada (esto es til, por ejemplo, cuando la salida es demasiado grande).
EL SMBOLO %: Si se teclea % al inicio de una lnea, dicha lnea se considerar como un
comentario y, al pulsar Intro, no ser ejecutada.
EL COMANDO CLC: Si se teclea clc y se pulsa Intro, se borra la Ventana de Comandos, pero no
cambia nada que haya sido creado antes.


3.- OPERACIONES ARITMTICAS CON ESCALARES.

Matlab puede utilizarse como una calculadora corriente para realizar operaciones con escalares. Los
smbolos de operaciones aritmticas son los siguientes:

Operacin Operador Ejemplo
Suma + 25+3
Resta - 7-3
Multiplicacin * 2*6
Divisin / 4/5
Exponenciacin ^ 4^3 (4
3
)

Los nmeros complejos se manejan de la forma habitual, guardando las letras i o j para denominar la
unidad imaginaria.
Los nmeros pueden ser utilizados directamente como en una calculadora, o pueden ser asignados a
variables que, posteriormente, podrn ser usadas en los clculos.
4.- FORMATOS DE VISUALIZACIN DE NMEROS.

La visualizacin de nmeros se puede cambiar mediante el comando format. El formato en que se
visualizan los nmeros no afecta a la forma en la que MATLAB realiza los clculos ni a las variables
almacenadas.

Comando Descripcin Ejemplo
format short
Punto fijo con 4 dgitos decimales.
Resolucin: 0.001nmero1000
De lo contrario, el formato es short e
>>290/7
ans=
41.4286
format long
Punto fijo con 14 dgitos decimales.
Resolucin 0.001nmero100
De lo contrario, el formato es long e
>>290/7
ans=
41.42857142857143
format short e
Notacin cientfica con 4 dgitos decimales >>290/7
ans=
4.1429e+001
format long e
Notacin cientfica con 15 dgitos decimales >>290/7
ans=
4.142857142857143e+001
format short g
5 primeros dgitos fijos o en punto flotante >>290/7
ans=
41.429
format long g
15 primeros dgitos fijos o en punto flotante >>290/7
ans=
41.4285714285714
format bank
2 dgitos decimales >>290/7
ans=
41.43
format compact
Elimina las lneas vacas para permitir ms lneas con informacin en la ventana.
format loose
Aade lneas vacas (lo contrario de compact)

5.- FUNCIONES MATEMTICAS BSICAS.

Adems de las operaciones aritmticas bsicas, las expresiones pueden contener funciones. MATLAB
ofrece una amplia coleccin de libreras que contienen funciones predefinidas.

Una funcin se compone bsicamente de un nombre y unos argumentos entre parntesis.

Funcin Descripcin
sqrt(x)
Raz cuadrada
exp (x)
Exponencial (e
x
)
abs (x)
Valor absoluto
log (x)
Logaritmo natural, logaritmo de base e (ln)
log10(x)
Logaritmo en base 10
factorial (x)
Funcin factorial x!
sin(x)
Seno del ngulo x (x en radianes)
cos(x)
Coseno del ngulo x (x en radianes)
tan(x)
Tangente del ngulo x (x en radianes)
cot(x)
Cotangente del ngulo x (x en radianes)
angle(x)
Argumento (radianes)

conj(x)
Complejo conjugado
imag(x)
Parte imaginaria de un complejo

real(x)
Parte real de un complejo

6.- DEFINICIN DE VARIABLES ESCALARES.

MATLAB tiene reglas acerca de los nombres de las variables:

- Deben empezar por una letra.
- La longitud mxima permitida es de 63 caracteres en MATLAB 7 (31 en MATLAB 6.0)
- Pueden contener letras, dgitos y el carcter de subrayado.
- No deben contener espacios en blanco ni caracteres especiales.
- Distingue entre maysculas y minsculas.
- Hay que evitar poner el nombre de una funcin predefinida o esa funcin no podr ser utilizada.
MATLAB tiene algunas variables especiales predefinidas:

ans: Nombre por defecto de la variable usada para los resultados.
pi: Nmero pi.
i: Raz cuadrada de -1
j: Es equivalente a i
inf: Infinito
NaN: Magnitud no numrica (Not a Number) (p.e. 0/0)

Algunos comandos tiles en el uso de variables:

Comando Resultado
clear
Borra todas las variables de la memoria
clear x y z
Borra slo las variables x, y, z de la memoria
who
Muestra un listado de las variables almacenadas en la memoria
whos
Muestra un listado de las variables almacenadas en memoria y su tamao, junto con la
informacin sobre su clase y longitud




SEGUNDA PARTE: ARRAYS.


1.- ARRAYS

Un array es una lista de nmeros dispuestos en filas y/o columnas. Los arrays unidimensionales se
denominan vectores y a los bidimensionales se les denomina matrices.


2.- VECTORES.

Los vectores se pueden introducir de varias formas:

a) Introduciendo los datos entre corchetes separados por espacios:

Variable_matricial =[elementos del vector]

>> X=[1 4 -5 2]
X =
1 4 -5 2
b) Crear un vector con distancia constante a partir de la especificacin del primer trmino, de la distancia
y del ltimo trmino:

Variable_matricial =[Inicio:incremento:final]

EDU X=0:2:15
X =
0 2 4 6 8 10 12 14

c) Crear un vector con distancia constante a partir de la especificacin del primer y ltimo trmino, as
como del nmero de trminos.

Variable_matricial = linspace(primer valor, ltimo valor, nmero de valores)

EDU X=linspace(0,7,4)
X =
0 2.3333 4.6667 7.0000





3.- MATRICES.

Las matrices se definen escribiendo entre corchetes los elementos, separando con espacios o comas las
columnas y con nueva lnea o punto y coma las filas.
EDU X=[1 3 7;5 4 2;1 8 9]
X =
1 3 7
5 4 2
1 8 9

Cada elemento de una matriz queda definido especificando la fila y la columna, por ejemplo, para la
matriz anterior:
>> X(2,3)
ans =
2
El determinante de una matriz se puede calcular mediante el comando det(X)

4.- OPERACIONES CON MATRICES.

Con las matrices se pueden realizar operaciones generales y operaciones elemento a elemento.

OPERACIONES GENERALES:

Suma y resta de matrices: El nico requisito es que las matrices sean de la misma dimensin.

>> X=[1 3 7;5 4 2;1 8 9] >> Y=[2 -5 4;0 7 -3;2 1 4]
X = Y =
1 3 7 2 -5 4
5 4 2 0 7 -3
1 8 9 2 1 4

>> X+Y

ans =

3 -2 11
5 11 -1
3 9 13

Multiplicacin de matrices:El requisito para poder multiplicar matrices es que el nmero de columnas de
la primera sea igual al nmero de filas de la segunda (m,n)*(n,l)=(m,l)

>> X=[1 3 7;5 4 2;1 8 9] >> Y=[2 1;-5 3;0 2]
X = Y =
1 3 7 2 1
5 4 2 -5 3
1 8 9 0 2

X*Y

ans =

-13 24
-10 21
-38 43

Inversa de una matriz: Se dice que una matriz B es inversa de una matriz A (B=A
-1
) si al multiplicar
ambas matrices el producto es la matriz identidad: AB=BA=I
Para hallar la inversa de una matriz A se utiliza el comando inv(A)

>> Z=inv(X)

Z =

0.1399 0.2028 -0.1538
-0.3007 0.0140 0.2308
0.2517 -0.0350 -0.0769


Z*X

ans =

1.0000 0 0
0 1.0000 0
-0.0000 -0.0000 1.0000


Divisin de matrices:

MATLAB posee dos tipos de divisiones de arrays: la divisin derecha y la divisin izquierda.

La divisin izquierda se utiliza para resolver ecuaciones matriciales AX=B

AX=B A
-1
AX=A
-1
B X= A
-1
B

En MATLAB, esta ltima ecuacin se puede escribir utilizando el carcter de la divisin izquierda.
X=A\B


Consideremos el siguiente ejemplo:

= +
= +
= +
3
3
2
2
5
1
4
0
2
7
1
3
2
3
5
2
2
1
x x x
x x
x x x

En primer lugar, debemos definir las matrices A (matriz de los coeficientes) y B (matriz de los trminos
independientes):

EDU A=[1 2 -5;3 7 0;4 -5 2]

A =

1 2 -5
3 7 0
4 -5 2

EDU B=[2;0;-3]

B =

2
0
-3

Podemos determinar las incgnitas (x
1
, x
2
, x
3
) de dos formas:

a) Hallando la inversa de la matriz A y multiplicar por la matriz B:

EDU x=inv(A)*B
x =

-0.3548
0.1521
-0.4101

b) Utilizando el carcter de la divisin izquierda:

EDU x=A\B
x =

-0.3548
0.1521
-0.4101

La divisin derecha se utiliza para resolver ecuaciones matriciales de la forma XC=D: X=D/C
OPERACIONES ELEMENTO A ELEMENTO:

Por definicin, la suma y la resta de arrays se realizan elemento a elemento, es decir, la operacin se
ejecuta con los elementos que ocupan la misma posicin en los arrays. Las operaciones elemento a
elemento se pueden realizar nicamente si los arrays tienen el mismo tamao.

Para que las operaciones de multiplicacin, exponenciacin y divisin se realicen elemento a elemento
hay que teclear un punto delante del operador:

.* Multiplicacin
.^ Exponenciacin
./ Divisin derecha
.\ Divisin izquierda


TERCERA PARTE: POLINOMIOS

Los polinomios se dan igual que un vector fila. As, P=[1 12 0 15 116] equivale al polinomio
116 25
3
12
4
+ + x x x

Se pueden obtener las races de un polinomio mediante la orden r=roots(P).

>> P=[1 -12 0 15 116];
>> r=roots(P)

r =

11.8225
2.5339
-1.1782 + 1.5761i
-1.1782 - 1.5761i

Tambin podemos obtener un polinomio a partir de sus races mediante la orden P=poly(r)

>> poly(r)

ans =

1.0000 -12.0000 0.0000 15.0000 116.0000

Algunas operaciones que podemos realizar con polinomios son las siguientes:

Multiplicacin polinomial: c = conv(a,b)
Divisin: [q,r]=deconv(c,b) (q es el cociente y r el resto)
Derivacin: h = polyder(g)
Evaluar el polinomio en el punto x: polyval(p,x)



CUARTA PARTE: GRFICOS BIDIMENSIONALES


1.- EL COMANDO plot.

Los pasos para representar una grfica son los siguientes:

1.- Generar los arrays correspondientes a abscisas y ordenadas.

EDU x=linspace(0,2*pi,30);
EDU y=sin(x);



2.- Utilizar la orden plot.

EDU plot(x,y)















Para personalizar los grficos, el comando plot admite otros argumentos que se pueden utilizar para
definir el color y estilo de lneas y marcadores:

plot(x,y,especificadores de lnea,Propiedades,Valores)

Estilo de lnea Especificador Color de lnea Especificador
Tipo de
marcador
Especificador
Slida
-
rojo
r
signo ms
+
Discontinua
--
verde
g
crculo
o
Punteada
:
azul
b
asterisco
*
Rayas y puntos
-.
cian
c
punto
.


magenta
m
cuadrado
s


amarillo
y
diamante
d

negro
k

estrella de
cinco puntas
p

estrella de seis
puntas
h

>> plot(x,y,'+')


0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x
s
i
n
(
x
)

Otro ejemplo de utilizacin del comando plot es:

>> x=linspace(0,2*pi,100);

>> y=3.*x.*cos(2*x); %observemos que ha de utilizarse la operacin elemento a elemento

>> plot(x,y)
0 1 2 3 4 5 6 7
-15
-10
-5
0
5
10
15
20


2.- EL COMANDO fplot.

En MATLAB, tambin se pueden generar grficos de funciones utilizando el comando fplot que
representa una funcin entre unos lmites especificados por el usuario.

fplot(funcin, [lmites], especificadores de lnea)

Por ejemplo:

>> fplot('3*x*cos(2*x)',[0,2*pi])

0 1 2 3 4 5 6
-15
-10
-5
0
5
10
15
20


3.- REPRESENTACIN GRFICA DE VARIAS FUNCIONES A LA VEZ.

Aunque no es la nica forma posible de hacerlo, una manera muy sencilla de representar varias curvas en
una misma grfica es mediante los comandos hold on y hold off. As, una vez representada la primera
funcin, se introduce el comando hold on, con lo que se mantiene la Ventana de Grficos con el primer
grfico. Cuando se han representado en ese grfico todas las funciones deseadas, se introduce el comando
hold off.

Otra forma de representar ms de una funcin en la misma grfica es mediante la instruccin
plot(x1,y1,x2,y2) que dibuja y1 frente a x1 e y2 frente a x2.

Tambin podemos abrir ms de una grfica en una misma ventana utilizando el comando subplot(m,n,p)
donde p indica cul de las mxn grficas en las que se encuentra dividida la ventana vamos a utilizar. Por
ejemplo subplot (2,1,1) dividir la ventana de grficos en dos filas e indicamos que vamos a utilizar la
primera fila. A continuacin, utilizamos los comando plot o fplot para indicar la representacin que
deseamos hacer.





QUINTA PARTE: FICHEROS SCRIPT Y FICHEROS DE FUNCIN

Los ficheros M (M-files) son macros de comandos de MATLAB almacenadas como ficheros de texto con
extensin .m

Un M-file puede ser una funcin con variables de entrada y salida o, simplemente, una lista de comandos
(script). Para usar los M-files, se requiere que dicho M-file, se encuentre en el directorio de trabajo. Se
puede teclear pwd para saber cul es el directorio de trabajo, cd para cambiar de directorio de trabajo o
directamente en Current Directory.


1.- ARCHIVOS SCRIPT.

Son muy tiles si se ha de repetir algn clculo, dar nuevos valores a algunas variables, etc.

Los ficheros script se crean y se editan con la Ventana del Editor. Para ello, hay que ir al men File,
seleccionar New y, despus, M-File.



Una vez abierta la ventana de archivos de texto, definimos su contenido, en este caso, una matriz, y se
guarda en el men File, Save As.



Para ejecutarlo, basta teclear su nombre:

matrizX

X =

1 7 9
2 4 5

Como hemos dicho son muy tiles porque son fcilmente editables y podemos modificarlos para realizar
nuevos clculos.


2.- FICHEROS DE FUNCIN.

MATLAB proporciona una estructura para crear funciones propias en la forma de archivos M de textos
almacenados.

Un archivo M de funcin es diferente de un archivo script ya que una funcin se comunica con el
espacio de trabajo de MATLAB slo a travs de las variables pasadas y mediante las variables de salida
que genera. Las variables intermedias dentro de la funcin no aparecen ni interaccionan con el espacio de
trabajo de MATLAB.

La primera lnea de un archivo M de funcin define el archivo M como una funcin, especifica su
nombre (que debe coincidir con el del fichero en que se guarde) y los nombres de las variables de entrada
y salida.

La lnea de definicin de la funcin tiene siempre la misma estructura:

function argumentos_salida=nombre_funcin (argumentos de entrada)

Seguidamente, contiene las rdenes MATLAB que crean las variables de salida.

Podemos incluir comentarios precedidos del smbolo %.

Veamos un ejemplo:



x=[3 7 8]

x =

3 7 8

seno(x)

y =

0.1411 0.6570 0.9894

Para obtener ficheros M ms eficientes, tendremos que hacer uso de las operaciones en forma matricial.
Tambin se pueden utilizar bucles y elementos sintcticos para establecer comparaciones.

Algunos ejemplos son:

- Comando for:

for k=1:20,
x(k)=3*sin(k)
end

Dara lugar a un vector de 1x10 elementos cada uno de los cuales correspondera al valor de la
funcin x definida.

- Comando if/else:
if(a<=2),
b=1
elseif(a>=4)
b=2
else
b=3
end

Los comparadores permitidos son:

Mayor o igual (>=)
Menor o igual (<=)
Igual que (= =)
Distinto de (~=)

- Solicitar informacin:

Se puede solicitar informacin al usuario desde un programa en un M-file mediante el comando
input.

T=input('Introducir el valor de T:')


SEXTA PARTE: RESOLUCIN DE ECUACIONES DIFERENCIALES ORDINARIAS

MATLAB permite hallar la solucin de ecuaciones diferenciales a travs de la orden dsolve. Vemoslo
con un ejemplo:

t y
dt
dy
dt
y d
3 2 2
2
= + +

La instruccin en MATLAB para resolver esta ecuacin diferencial sera:

>> dsolve('D2y+(2*Dy)+(2*y)=3*t')

ans =

exp(-t)*sin(t)*C2+exp(-t)*cos(t)*C1-3/2+3/2*t

Si queremos que MATLAB nos calcule las constantes C1 y C2, podemos aadir dos condiciones
iniciales:

>> dsolve('D2y+(2*Dy)+(2*y)=3*t','y(0)=1','Dy(0)=0')

ans =

exp(-t)*sin(t)+5/2*exp(-t)*cos(t)-3/2+3/2*t

Otra forma de ver la solucin es mediante el comando:

>> pretty(ans)

exp(-t) sin(t) + 5/2 exp(-t) cos(t) - 3/2 + 3/2 t


BIBLIOGRAFA: Matlab. Una introduccin con ejemplos prcticos. Amos Gilat. Editorial Revert.2006