You are on page 1of 41

Universidad Tecnolgica Nacional

Facultad Regional Buenos Aires




UDB Matemtica

rea de Matemtica Aplicada

Laboratorio de Matemtica


I ntroduccin a Matlab I

I ng. Alej andro Hayes



Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica I ng. Alej andro Hayes

ndice

1. I ntroduccin.....................................................................................................................................1
1.1 El programa MATLAB........................................................................................................................... 1
1.2 Constitucin de MATLAB.......................................................................................................................1
1.3 Simulink..............................................................................................................................................2
2. Primeros pasos con MATLAB...........................................................................................................2
2.1 Conociendo la versin..........................................................................................................................2
2.2 Tipos de archivos con los que trabaja MATLAB......................................................................................3
2.3 Variables en el espacio de trabajo........................................................................................................4
2.4 El reloj...............................................................................................................................................4
2.5 Ruta de bsqueda..............................................................................................................................5
2.6 Diario................................................................................................................................................6
2.7 Formato de exhibicin de nmeros......................................................................................................6
2.8 Caracteres especiales y operadores.....................................................................................................7
2.9 Operaciones bsicas..........................................................................................................................7
3. Escalares, vectores y matrices.....................................................................................................10
3.1 Comandos para el manejo de matrices...............................................................................................10
3.2 Algunas matrices especiales..............................................................................................................17
3.3 Aplicaciones a la resolucin de sistemas de ecuaciones lineales...........................................................18
4. Funciones escalares.....................................................................................................................19
4.1 Graficas de funciones en 2 D............................................................................................................21
4.1.1 Graficas de funciones escalares dadas en forma explicita.............................................................21
4.1.2 Graficas de curvas dadas en coordenadas polares y parametricas................................................30
5. I ntroduccin a la programacin................................................................................................32
5.1 Archivos-M Script............32
5.2 Archivos-M de funcin....................................................................................................................33
Referencias..................................................................................................................................38


















Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica I ng. Alej andro Hayes





Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 1 de 38 I ng. Alej andro Hayes
I ntroduccin a Matlab I

1.I ntroduccin

En los ltimos aos ha proliferado mucho el calculo computacional ya sea debido a la necesidad del hombre
de procesar una cantidad de datos cada vez mayor como al avance del calculo numrico.
Aparecen entonces una cantidad importante de programas de calculo simblico y numrico entre los que se
destacan Mathemtica, Maple y Matlab entre muchos otros.
Matlab que es quien nos ocupa es un sistema general de software para calculos matemticos y diversas
aplicaciones a la ingenieria. Actualmente se utiliza mucho en Investigacin y Anlisis en Ingeniera y en la
Industria ya que sus aplicaciones comprenden la mayora de las reas de ciencia y tecnologa.
Las ultimas versiones constan de un potente entorno integrado de calculo numrico y simblico con extensiones
para la programacin y otros campos especficos de la ingeniera.

1.1.El Programa Matlab

El Nombre Matlab proviene de MATrix LABoratory por lo que constituye un programa orientado al calculo
con vectores y matrices pero tambin es posible trabajar con escalares o nmeros complejos considerndolo
como un caso particular de matriz.
MATLAB es un lenguaje de alto nivel para computacin cientfica. Entre otras cosas integra computacin,
visualizacin y programacin en un entorno de fcil utilizacin donde tanto los problemas como las soluciones
se expresan en una notacin matemtica familiar. Entre las utilidades que posee pueden mencionarse:
Matemtica Computacional , Desarrollo de algoritmos , Modelado y simulacin de prototipos, Anlisis de datos,
Graficacin , Animaciones y la Construccin de una interfaz grafica.

1.2.Constitucin de Matlab

Son cinco las partes que constituyes esencialmente a Matlab las cuales pasamos a describir:

El lenguaje Matlab: Es un lenguaje de alto nivel para matrices y vectores con sentencias de control de
flujo, funciones y estructuras de datos, entradas y salidas, caractersticas para la programacin orientada a
objetos. Permite crear desde programas pequeos de rpida ejecucin hasta programas mas largos y
complejos.

El entorno de trabajo Matlab: Es el conjunto de herramientas con las que se puede trabajar como un
usuario o programador de Matlab. Cuenta con facilidades tales como poder manejar las variables en el espacio
de trabajo y de importar y exportar datos. Tambin posee herramientas de programacin, desarrollo , y
manipulacin de archivos M (M-files).

Manejador de Grficos: Es el sistema de graficacin de Matlab. Incluye una serie de comandos de muy
alto nivel para de visualizacin de imgenes 2D y 3D , animaciones y presentaciones. Tambin posee comandos
de no tan alto nivel que permiten personalizar la presentacin de la figura correspondiente. Tambin permite
que el usuario pueda construirse una Interfaz Grafica de Usuario (GUI ) en la aplicacin de Matlab que
Corresponda.

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 2 de 38 I ng. Alej andro Hayes
La librera de Funciones Matemtica de Matlab: Es una vasta coleccin de algoritmos que va desde
las funciones mas elementales como senos , cosenos etc. a otras mas sofisticadas como las tranformadas de
Laplace, FFT y otras.

La I nterface de Aplicacin de Programas de Matlab (API ): Es una Librera que permite escribir
programas en C y Fortran que interacten con Matlab. Incluye la posibilidad de llamar rutinas desde Matlab,
llamando a Matlab como un motor y para leer y escribir MAT-files.

1.3.Simulink

Simulink es un programa de Matlab que consiste en un sistema interactivo para simular Sistemas Dinmicos No
Lineales. Permite modelizar un sistema dibujando los correspondientes diagrames en bloques y manipularlos
dinmicamente. Puede trabajar con sistemas lineales, no lineales , de tiempo continuo , de tiempo discreto ,
multivariable entre otros.
Pueden agregarse al Simulink los denominados Blocksets que proporcionan libreras adicionales de bloques para
aplicaciones especificas como Comunicaciones , Procesamiento de Seales , Sistemas de Potencia etc.
Tambin cuenta con un programa llamado Real-time Workshop que permite generar un cdigo en C desde tu
diagrama en bloques y correrlo en una variedad de sistemas en tiempo real.

2.Primeros Pasos con Matlab

Para introducirnos en el uso de Matlab comenzaremos dando algunos comandos bsicos para conocer nuestro
entorno de trabajo. Para eso hagamos doble clic en el icono de Matlab y nos aparecer una ventana de
comandos donde debemos comenzar a escribir.

2.1.Conociendo la Versin :

Para conocer la versin que estamos usando escribamos la palabra ver y obtendremos la siguiente salida.


ver
--------------------------------------------------
MATLAB Version 5.3.0.10183 (R11) on PCWI N
MATLAB License Number: 134521
--------------------------------------------------
MATLAB Toolbox Version 5.3 (R11) 15-J an-1999
Symbolic Math Toolbox Version 2.1 (R11) 11-Sep-1998
NAG Foundation Toolbox - Numerical ... Version 1.0.3 (R11) 06-J un-1998
Partial Differential Equation Toolbox Version 1.0.3 (R11) 21-Nov-1997
Statistics Toolbox Version 2.2 (R11) 24-J ul-1998
Signal Processing Toolbox Version 4.2 (R11) 10-J ul-1998
Control System Toolbox Version 4.2 (R11) 15-J ul-1998
SystemBuild to Simulink Translator Version 2.0 (R11) 10-Aug-1998
Stateflow Version 2.0 (R11) 16-J an-1999
Simulink Version 3.0 (R11) 01-Sep-1998
MATLAB Tour Version 1.2 (R11) 04-Sep-1998

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 3 de 38 I ng. Alej andro Hayes
2.2.Tipos de Archivos con los que trabaja Matlab:

Matlab trabaja con distintos tipos de archivos a saber:

Archivos M: Son archivos de texto que contienen cdigo de Matlab. El usuario puede crearlos usando los
mismos comandos que ingresa por lneas de comandos y otras sentencias que veremos oportunamente. El
archivo se guarda con la extensin .m (Por ejemplo nombre_archivo.m) y podemos llamarlo desde la lnea de
comando y lo ejecutamos.

Archivos MAT: Son archivos que contienen datos binarios que se guardan con extensin .mat y que
posteriormente detallaremos.

Archivos MEX: Son archivos Matlab ejecutables compilado a partir de Fortran o C. Se guardan con la
extensin .mex.

Archivos MDL: Corresponden a modelos hechos con el Simulink que en su oportunidad desarrollaremos en
detalle. Si bien la explicacin sobre los tipos de archivos que maneja Matlab fue por dems escueta el objetivo
de la misma es explicar el comando what que produce una lista de los archivos M- , MAT- , MEX y MDL
presentes en el directorio de trabajo actual.

Veamos un ejemplo :

what

M-files in the current directory C:\ MATLABR11\ work

P2
P3
aceleracion
amortiguador
circuito
circuito1
circuito2
circuito3
circuito31
circuito4
circuito5
circuito5B
dv
fn
p5

MDL-files in the current directory C:\ MATLABR11\ work

circ circ1 untitled



Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 4 de 38 I ng. Alej andro Hayes
2.3.Variables en el espacio de trabajo:

Para conocer las variables cargadas en el espacio de trabajo, Matlab cuenta con los respectivos comandos who
y whos que producen una lista de las variables en el espacio de trabajo actual. Podemos ver un ejemplo:

a=10;
b=897;
who

Your variables are:

a b

whos
Name Size Bytes Class

a 1x1 8 double array
b 1x1 8 double array

Grand total is 2 elements using 16 bytes

Vemos que who solo indica el nombre de las variables mientras que whos indica ademas de las variables , su
tamao y el numero de bytes que ocupa y el formato.

2.4.El Reloj :

Para saber la hora actual Matlab cuenta con el comando clock

clock

ans =

1.0e+003 *

2.0030 0.0090 0.0010 0.0130 0.0240 0.0569

El primer numero es un multiplicador y los numeros de la segunda linea tienen el formato:

[ao , mes , dia , hora , minuto , segundo]

Podemos mostrar la hora en formato entero

fix(clock)

ans =

2003 9 1 13 40 33

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 5 de 38 I ng. Alej andro Hayes
2.5.Ruta de Bsqueda :

El comando path nos muestra la ruta de bsqueda vigente de Matlab. El comando ruta = path devuelve
una cadena llamada ruta que contiene la ruta.

path

MATLABPATH

C:\ MATLABR11\ toolbox\ matlab\ general
C:\ MATLABR11\ toolbox\ matlab\ ops
C:\ MATLABR11\ toolbox\ matlab\ lang
C:\ MATLABR11\ toolbox\ matlab\ elmat
C:\ MATLABR11\ toolbox\ matlab\ elfun
C:\ MATLABR11\ toolbox\ matlab\ specfun
C:\ MATLABR11\ toolbox\ matlab\ matfun
C:\ MATLABR11\ toolbox\ matlab\ datafun
C:\ MATLABR11\ toolbox\ matlab\ polyfun
C:\ MATLABR11\ toolbox\ matlab\ funfun
C:\ MATLABR11\ toolbox\ matlab\ sparfun
C:\ MATLABR11\ toolbox\ matlab\ graph2d
C:\ MATLABR11\ toolbox\ matlab\ graph3d
C:\ MATLABR11\ toolbox\ matlab\ specgraph
C:\ MATLABR11\ toolbox\ matlab\ graphics
C:\ MATLABR11\ toolbox\ matlab\ uitools
C:\ MATLABR11\ toolbox\ matlab\ strfun
C:\ MATLABR11\ toolbox\ matlab\ iofun
C:\ MATLABR11\ toolbox\ matlab\ timefun
C:\ MATLABR11\ toolbox\ matlab\ datatypes
C:\ MATLABR11\ toolbox\ matlab\ winfun
C:\ MATLABR11\ toolbox\ matlab\ demos
C:\ MATLABR11\ toolbox\ symbolic
C:\ MATLABR11\ toolbox\ nag\ nag
C:\ MATLABR11\ toolbox\ nag\ examples
C:\ MATLABR11\ toolbox\ pde
C:\ MATLABR11\ toolbox\ stats
C:\ MATLABR11\ toolbox\ signal\ signal
C:\ MATLABR11\ toolbox\ signal\ siggui
C:\ MATLABR11\ toolbox\ signal\ sigdemos
C:\ MATLABR11\ toolbox\ control
C:\ MATLABR11\ toolbox\ control\ ctrlguis
C:\ MATLABR11\ toolbox\ control\ obsolete
C:\ MATLABR11\ toolbox\ stateflow\ sfdemos
C:\ MATLABR11\ toolbox\ sb2sl
C:\ MATLABR11\ toolbox\ stateflow\ stateflow
C:\ MATLABR11\ toolbox\ simulink\ simulink
C:\ MATLABR11\ toolbox\ simulink\ blocks
C:\ MATLABR11\ toolbox\ simulink\ simdemos
C:\ MATLABR11\ toolbox\ simulink\ dee
C:\ MATLABR11\ toolbox\ tour
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 6 de 38 I ng. Alej andro Hayes
C:\ MATLABR11\ work
C:\ MATLABR11\ toolbox\ local

2.6.Diario:

Si deseamos guardar en algn archivo las entradas por lneas de comando el comando diary on escribe todo
lo que se introduce por el teclado as como la mayor parte de lo que se enva a la pantalla, a un archivo llamado
diary diary off termina la escritura .

2.7.Formatos de Exhibicin de Nmeros:

Matlab Cuenta con la posibilidad de definir distintos formatos de exhibicin de nmeros la Tabla 1 muestra
algunos de ellos:

Formato de Exhibicin de Nmeros
format short (default) Muetra 4 cifras decimales 3.1416
format long Muetra 14 cifras decimales 3.14159265358979
format bank Muetra 2 cifras decimales 3.14
format short e Muetra 4 cifras decimales 1.5225e+008
format long e Muetra 15 cifras decimales 1.606938044258990e+060
format + +,-, Espacio +

Tabla 1

Veamos algunos ejemplos:

pi
ans =

3.1416

format long
pi

ans =

3.14159265358979

format bank
pi

ans =

3.14

format long e
pi
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 7 de 38 I ng. Alej andro Hayes

ans =

3.141592653589793e+000

2.8.Caracteres especiales y Operadores

A continuacin damos dos tablas con los operadores mas usuales y de mayor uso en Matlab y a continuacin
algunos ejemplos.







2.9.Operaciones Bsicas

Las operaciones tales como suma resta multiplicacin y divisin se realizan en forma inmediata con Matlab.
Veamos algunos ejemplos:

Ejemplo 2.1:

Efectuaremos algunas operaciones bsicas con dos nmeros cualquiera:


2+3

ans =

5
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 8 de 38 I ng. Alej andro Hayes

2-3

ans =

-1

2*3

ans =

6

2/3

ans =

0.6667


Una de las bondades de Matlab reside en la capacidad para trabajar en distintas plataformas y segn la
capacidad del hardware y del software de las mismas trabajara con mayor o menor precisin. En general Matlab
realiza todas las operaciones con nmeros enteros en forma exacta, independientemente del tamao que tenga
el resultado.
Por ejemplo Matlab cuenta con una funcin que nos permite visualizar el resultado de una operacin con un
determinado numero de cifras exactas el comando es el siguiente:

vpa operacin numero de cifras exactas

Ejemplo 2.2:

Supongamos que queremos calcular 55 elevado a la 100 con 5000 cifras exactas.




vpa '55^100' 50000
ans =

108709863248920416095013731486527307045630210519463889299295688391297964565
354754425988396643047321308614644661151788127357805455576542780216087180633
6217559874057769775390625.


Otras funciones que trae Matlab para trabajar con nmeros enteros se muestran en la tabla 2 seguida de
algunos ejemplos.

rem(n,m) Nos da el resto de la divisin entre n y m
sign(n) Nos da el signo de n: 1 si n>0 y 1 si n<0
nchoosek(n,m) Numero combinatorio n sobre m
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 9 de 38 I ng. Alej andro Hayes
factorial(n) Calcula el factorial de un numero natural
max(n1,n2) Halla el mximo valor entre n1 y n2
min(n1,n2) Halla el mnimo valor entre n1 y n2
lcm(n1,n2) Mnimo comn mltiplo
gcd(n1,n2) Mximo comn divisor de n1 y n2

Tabla 4
Ejemplo 2.3:

Veamos algunos ejemplos de utilizacin de las funciones de la Tabla 4:


rem(25,11)

ans =

3

sign(-8)

ans =

-1

sign(8)

ans =

1

nchoosek(5,3)

ans =

10


max(2,5)

ans =

5

min(2,5)

ans =

2


gcd(2,5)
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 10 de 38 I ng. Alej andro Hayes

ans =

1

lcm(2,5)

ans =

10




Matlab cuenta con muchos otros comandos para operaciones bsicas ac hemos presentado algunos y queda
como deber para el lector indagar sobre otros comandos no explicados en esta seccin.

3.Escalares, Vectores y Matrices

Es muy comn en Ingeniera que Aparezcan problemas que involucren matrices en su resolucin, y siendo que
los mtodos matriciales para distintos tipos de problemas en Ingeniera y ciencias han proliferado mucho es
importante que comencemos el curso explicando el manejo de matrices que tiene Matlab ya que es la base para
la implementacin de casi cualquier aplicacin.
El razonamiento ser valido para escalares y para vectores ya que un escalar puede verse como una matriz de
1x1 mientras que un vector puede verse como una matriz de 1x n.
Matlab cuenta con una serie de comandos para el manejo de matrices algunos de los cuales se indican en la
tabla 1.

3.1.Comandos para el manejo de matrices:

Funciones Principales Para Trabajar con Matrices
A + B Suma de las matrices A y B
A B Diferencia de las matrices A y B(A menos
B)
C *M Producto escalar c por la matriz M
A * B Producto de las matrices A y B(A por B)
A^p Matriz A elevada a la potencia escalar p
p^A Escalar elevado a la matriz A
expm(A) e
A
calculada a travs de autovalores
expm1(A) e
A
calculada a travs de aproximantes de Pad
expm2(A) e
A
calculada a travs de series de Taylor
expm3(A) e
A
calculada a travs de la condicin de la
matriz de autovectores
logm(A) Logaritmo neperiano de la matriz A
sqrtm(A) Raz cuadrada de la matriz cuadrada A
funm(A,funcion) Aplica la funcin a la matriz cuadrada A
traspose(A) o A Matriz traspuesta de A
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 11 de 38 I ng. Alej andro Hayes
inv(A) Matriz inversa de la matriz cuadrada A(A
-1
)
det(A) Determinante de la matriz cuadrada
rank(A) Rango de la matriz A
trace (A) Suma de los elementos de la diagonal
svd(A) Da el vector V de los valores singulares de A.
Los valores singulares de A son las races
cuadradas de los autovalores de la matriz
simtrica AA
[U,S,V]=svd(A) Da la matriz diagonal S de valores singulares de
A(ordenados de mayor a menor), y las matrices
U y V tales que A=U*S*V
cond(A) Da la condicin de la matriz A(cociente entre el
mayor y el menor valor singular de A)
rcond(A) Reciproco de la condicin de la matriz A
norm(A) Norma de A(mayor valor singular de la matriz
A)
norm(A) 1-norma de A(mayor suma de las columnas de
A)
norm(A,inf) Norma infinita de A(mayor suma de las filas de
A)
norm(A,fro) F-norma de A, definida por
sqrt(sum(diag(AA)))
Z=null(A) Da una base ortonormal del ncleo de
A(ZZ=I). El numero de columnas de Z es la
nulidad de A
Q=orth(A) Da una base ortonormal para el rango de
A(QQ=I). Las columnas de Q generan el
mismo espacio que las columnas de Q, y el
numero de columnas es el rango de A
subspace(A,B) Da el ngulo entre los subespacios
especificados por las columnas de A y de B. Si
A y B son vectores, da el ngulo formado por
ambos
rref.(A) Da la matriz reducida escalonada por filas de A.
El numero de filas no nulas de ref(A) es el
rango de la matriz A.
eig(A) Calcula los autovalores de la matriz cuadrada A
[V,D]=eig(A) Calcula la matriz diagonal D de autovalores de
A y una matriz V cuyas columnas son los
autovectores correspondientes, cumplindose
que A*V = V*D
eig(A,B) Da un vector que contiene los autovalores
generalizados de las matrices cuadradas A y B
son las races del polinomio en det( C-A)
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 12 de 38 I ng. Alej andro Hayes
[V,D]=eig(A,B) Calcula la matriz diagonal D de autovalores
generalizados de A y B, y una matriz V cuyas
columnas son los autovectores
correspondientes, cumplindose que A*V =
B*V*D
[AA,BB,Q,Z,V]=qz(A,B) Calcula las matrices triangulares superiores AA
y BB y las matrices Q y Z tales que Q*A*Z=AA
Y Q*B*Z = BB, y da la matriz de autovectores
generalizados de A y B. Los autovectores
generalizados son los elementos de la diagonal
de AA y BB, de tal modo que se tiene la
igualdad : A*V*diag(BB) = B*V*diag(AA)
[T,B]=balance(A) Encuentra una matriz de transformacin T tal
que B=T\A*T tiene autovalores aproximados a
los de A. La matriz B se llama matriz
balanceada de la matriz A
balance(A) Calcula la matriz B balanceada de la matriz A.
Su uso esencial es aproximar los autovalores de
A cuando son difciles de calcular. Se tiene que
eig(A)=eig(balance(A))
[V,D] = cdf2rdf(V,D) Transforma la salida compleja [V,D] del
comando eig a forma real. Cada autovalor
complejo en la diagonal de D origina una
submatriz de 2x2 en la forma real de la matriz
D
[U,T]=schur(A) Da una matriz T y una matriz unitaria U tales
que A = U*T*U y U*U=I. Si A es compleja, T
es una matriz triangular superior con los
autovalores de A en la diagonal. Si A es real, la
matriz T tiene los autovalores de A en la
diagonal, y los correspondientes autovalores
complejos se corresponden con los bloques
diagonales 2x2 de la matriz T
schur(A) Devuelve solo la matriz T
[U,T]= rsf2csf(U,T) Convierte a real la salida [U,T] del comando
schur
[P,H]=hess(A) Devuelve la matriz unitaria P y la matriz
Hessenberg H tales que A=P*H*P y
P`*P=eye(size(P))
hess(A) Devuelve la matriz Hessenberg
poly(A) Devuelve el polinomio caracterstico de la
matriz A
poly(V) Devuelve un vector cuyas componentes son los
coeficientes del polinomio cuyas raices son los
elementos del vector V.
vander(C) Devuelve la matriz de Vandermode A tal que su
j-esima columna es A(:,j)=C^(n-j)
Tabla 5

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 13 de 38 I ng. Alej andro Hayes
Veamos algunos ejemplos:

Ejemplo 3.1:

Se desea ingresar la matriz

,
_

6 4 9
1 8 3
5 2 1
M y determinar:
a)
T
M b)
1
M si existe. c) Verificar I M M
1
d) M

e) ) (M Tr f)
3 2
, M M g) Los Autovalores de M h) ) ( P


M=[1 -2 5;3 8 -1;9 -4 6]




M =

1 -2 5
3 8 -1
9 -4 6

Transpuesta_M=M'

Transpuesta_M =

1 3 9
-2 8 -4
5 -1 6

Inversa_M=inv(M)

Inversa_M =

-22/161 4/161 19/161
27/322 39/322 -8/161
6/23 1/23 -1/23

Identidad=M*Inversa_M

Identidad =

1 0 0
0 1 0
0 0 1

Determinante_M=det(M)

Determinante_M =
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 14 de 38 I ng. Alej andro Hayes

-322

Traza_M=trace(M)

Traza_M =

15

Potencia_2=M^2






Potencia_2 =

40 -38 37
18 62 1
51 -74 85

Potencia_3=M^3

Potencia_3 =

259 -532 460
213 456 34
594 -1034 839

Autovalores_M=eig(M)

Autovalores_M =

-2576/701
4622/495 +9553/14427i
4622/495 - 9553/14427i

Polinomio_Caracteristico_M=poly(M)

Polinomio_Caracteristico_M =

1 -15 19 322



Ejemplo 3.2:

Dadas las matrices

,
_

1 2 5
9 7 6
5 3 1
A

,
_

10 12 15
8 3 0
5 2 9
B determinar: a) B A+
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 15 de 38 I ng. Alej andro Hayes
b) B A c) B A d) A B e) A B B A f) A g) B
h) B A i) B A j) B A+ k) B A +


A=[1 3 -5 ; 6 -7 9 ; -5 -2 -1]

A =

1 3 -5
6 -7 9
-5 -2 -1

B=[9 2 -5 ; 0 -3 8 ; -15 -12 10]

B =

9 2 -5
0 -3 8
-15 -12 10

M_1=A+B

M_1 =

10 5 -10
6 -10 17
-20 -14 9

M_2=A- B

M_2 =

-8 1 0
6 -4 1
10 10 -11

M_3=A*B

M_3 =

84 53 -31
-81 -75 4
-30 8 -1

M_4=B*A

M_4 =

46 23 -22
-58 5 -35
-137 19 -43

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 16 de 38 I ng. Alej andro Hayes
M_5=M_4-M_3

M_5 =

-38 -30 9
23 80 -39
-107 11 -42

Determinante_A=det(A)

Determinante_A =

143




Determinante_B=det(B)

Determinante_B =

579

Determinante_M_3=det(M_3)

Determinante_M_3 =

82797

Determinante_A*Determinante_B

ans =

82797

Determinante_M_2=det(M_2)

Determinante_M_2 =

-196

Determinante_A+Determinante_B

ans =

722


Tabla 6




Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 17 de 38 I ng. Alej andro Hayes
Ejemplo 3.3:

Dada la matriz

,
_

4 6 2 10
9 2 3 3
9 8 6 5
5 7 2 1
A . Llamar al elemento
23
a . Visualizar la fila 2 y la columna 2.


A=[1 2 7 5;-5 6 -8 9;3 -3 -2 9; 10 -2 6 -4]

A =

1 2 7 5
-5 6 -8 9
3 -3 -2 9
10 -2 6 -4

A(2,3)

ans =

-8

A(2,:)

ans =

-5 6 -8 9

A(:,2)

ans =

2
6
-3
-2


3.2.Algunas Matrices Especiales:

Matlab cuenta con algunos comandos que crean matrices especificas. Algunos de los mismos se dan en la
siguiente tabla:

Funciones Especificas
blkdiag(x1,x2,...,xn) Construye una matriz diagonal con los datos de
x1,x2,...,xn
eye(n) , eye(n,m) Genara una matriz identidad de nxn o de nxm
respectivamente.
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 18 de 38 I ng. Alej andro Hayes
ones(n) , ones(n,m) Genera una matriz de unos de nxn o nxm
respectivamente.
rand(n) , rand(n,m) Genera una matriz de elementos aleatorios
uniformemente distribuidos en el intervalo (0,1) de nxn
o nxm elementos
randn(n) , randn(n,m) Genera una matriz de elementos aleatorios
normalmente distribuidos en el intervalo (0,1) de nxn o
nxm elementos
zeros(n) , zeros(n,m) Genera una matriz de ceros de nxn o nxm
respectivamente.
magic(n) Genera una matriz de nxn de los enteros de 1 a n
2

Tabla 7


3.3. Aplicaciones a la resolucin de sistemas de ecuaciones lineales

Una aplicacin importante del lgebra de matrices esta en la resolucin de sistemas de ecuaciones lineales.
Veremos un ejemplo.

Ejemplo 3.4:

Dado el sistema lineal

'

+
+ +
+ +
4 3
9 3 2
11 2 4
z y x
z y x
z y x
. Resolverlo en forma matricial.

format rat
>>A=[4 2 1;-2 1 3;1 3 -1]

A =

4 2 1
-2 1 3
1 3 -1

>>B=[11;9;4]

B =

11
9
4

>>A_1=inv(A)




Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 19 de 38 I ng. Alej andro Hayes

A_1 =

2/9 -1/9 -1/9
-1/45 1/9 14/45
7/45 2/9 -8/45

>>x=A_1*B

x =

1
2
3

>>

4.Funciones Escalares

La funcin como objeto de estudio es conceptualmente muy importante a la hora de trabajar con un software
matemtico pues la forma de manejar e implementar las funciones varia de un software a otro. Matlab nos
permite definir y manejar funciones de una forma muy simple, solo hay que acostumbrarse a la sintaxis y a las
Manias del programa en cuestin. Matlab al igual que la mayora de los paquetes de calculo simblico trae
funciones predefinidas asi como permite al usuario definir sus propias funciones. Algunas de las funciones
predefinidas con las que cuenta Matlab son las siguientes:

abs( x ) Calcula el modulo de x
sqrt( x ) Calcula la raz cuadrada de x
round(x) Redondea al entero mas cercano
fix(x) Redondea x al entero mas cercano a cero
floor( x) Redondea al entero mas cercano a -
ceil( x) Redondea al entero mas cercano a
exp( x) Calcula e
x
, Donde e es la base de los logaritmos naturales
log( x) Calcula ln x, el logaritmo natural de x con base e.
log10( x ) Calcula log
10
x
sin ( x ) Calcula el sen( x)
cos( x ) Calcula cos ( x ).
tan ( x ) Calcula tg( x ).
asin( x ) Calcula el arcoseno de x
acos( x ) Calcula el arcocoseno de x
atan( x ) Calcula el arcotangente de x.
atan2( y, x ) Cacula el arcotangente de y/x
sinh( x ) Calcula el seno hiperblico de x
cosh( x ) Calcula el coseno hiperblico de x
tanh ( x ) Calcula la tangente hiperblica de x.

Por supuesto Matlab cuenta con muchas otras funciones que no fueron contempladas en la tabla.
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 20 de 38 I ng. Alej andro Hayes
Veamos algunos ejemplos :

Ejemplo 4.1:

Definir las funciones x sen x f ) ( , x x g cos ) ( ,
x
e x h ) ( en el intervalo [ ] 10 , 0 .

x=0:0.01:10;
f1=sin(x);
f2=cos(x);
f3=exp(x);

Lo que muestra el ejemplo 1 es la forma de ingresar funciones en Matlab. Si trabajamos en forma numrica
debemos indicar los valores que toma la variable independiente, en el ejemplo x varia entre 0 y 10 en pasos de
0.01. Podemos observar que si no indicamos el valor de x Matlab nos dice que no conoce a la variable.

f=exp(x)
??? Undefined function or variable 'x'.

Ejemplo 4.2:

Definir una funcin trabajando con la variable definida en forma simblica.

syms x real
f=log(x);

El comando syms indica que la variable x es simblica y la palabra real indica que se trata de una variable
real. De no poner nada matlab la toma como una variable compleja.
Se pueden poner otros atributos a la variable por ejemplo.

syms x positive

Si queremos evaluar la funcin en un punto Matlab cuenta con una funcin llamada subs cuya sintaxis es la que
se indica abajo.

subs ( f ) Reemplaza todas las variables en la expresin simblica f
subs (f,n) Reemplaza la variable libre simblica en s con n
subs(f,o,n) Reemplaza o con n en la expresin simblica f.

Ejemplo 4.3 :

Dada la funcin escalar
x
e x sen x f

+ ) ( . Definirla con la variable dada en forma simblica y calcular la
imagen de 4.

syms x
f=sin(x)+exp(-x);
x=4;
subs(f)

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 21 de 38 I ng. Alej andro Hayes
ans =

-0.7385

format rat
subs(f)

ans =

-449/608

4.1.Grafica de Funciones en 2D.

Es notoria la calidad y capacidad de graficacin que tiene Matlab por lo que corresponde comenzar a aprender
los comandos necesarios para graficar distintas curvas y superficies dadas en forma Explicita, Implcita, y
Parametrica.

4.1.1.Grafica de funciones escalares dadas en forma explicita

Algunas de las sentencias para graficar son las que se detallan en la siguiente tabla.

plot (x, y) Dibuja el conjunto de puntos ( x, y ), donde x e y
son vectores fila.
plot(y) Grafica los elementos de Y contra sus ndices.
plot(x,y,s) Idem plot (x, y) pero con las opciones de s.
fplot( funcion, [ xmin,xmax ]) Grafica la funcin en el intervalo de variacin de x
dado.
fplot(funcion, [ xmax,xmin,ymax,ymin ], s) Grafica la funcin en el intervalo de variacin de x e
y dado. Con las opciones de S.
fplot([f1,f2,...,fn ], [ xmax,xmin,ymax,ymin ], s) Grafica las funciones f1,f2,..,fn sobre los mismos ejes
en los intervalos de variacin de x e y especificados y
con las especificaciones de s.
ezplot(funcion , [ xmin,xmax ]) Grafica la funcin en un intervalo de variacin x
dado.

Veamos algunos ejemplos en 2D:

Ejemplo 4.4:

Deseamos graficar el valor de los elementos de un vector en funcin de su ndice , escribimos lo siguiente.

x=0:0.01:5;
plot(x)

Podemos visualizar en la ventana de grficos la siguiente figura:

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 22 de 38 I ng. Alej andro Hayes
0 100 200 300 400 500 600
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5

En esta grafica sobre el eje de abscisas figuran los ndices de cada elemento y sobre el eje de ordenadas el
valor de x para cada elemento. Entre elemento y elemento Matlab interpola.

Ejemplo 4.5:

Dada la funcin escalar ) 3 8 cos( 2 ) (
3 . 0
+

x e x f
x
realizar la grafica de la misma.

x=0:0.01:10;
f=2*exp(-0.3*x).*cos(8*x+3);
plot(x,f)


0 1 2 3 4 5 6 7 8 9 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2

Si queremos ver algunas opciones para la salida del grafico veamos otros ejemplos:


Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 23 de 38 I ng. Alej andro Hayes
Ejemplo 4.6:

Idem anterior pero con distintas opciones de visualizacin.


x=0:0.01:10;
f=2*exp(-0.3*x).*cos(8*x+3);
plot(x,f,'*');
plot(x,f,'r *');
grid on.
0 1 2 3 4 5 6 7 8 9 10
-2
-1.5
-1
-0.5
0
0. 5
1
1. 5
2


Ejemplo 4.7:

Realizar en un mismo grafico las representaciones de las siguientes funciones
x sen x f 3 ) ( , ) 6 2 cos( ) ( + x x g , x x sen x h 2 cos ) ( + en el intervalo [ ] 10 , 0

fplot('[sin(3*x),cos(2*x+6),sin(x)+cos(2*x)]',[0,10])

Obtenemos la siguiente figura

0 1 2 3 4 5 6 7 8 9 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5



Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 24 de 38 I ng. Alej andro Hayes

Ejemplo 4.8:

Idem anterior pero con la opcin de escala establecida

fplot('[sin(3*x),cos(2*x+6),sin(x)+cos(2*x)]',[0,10,-4,2])

0 1 2 3 4 5 6 7 8 9 10
- 4
- 3
- 2
- 1
0
1
2




Ejemplo 4.9:

Graficar la funcin x x x sen x f cos 2 ) (
2
+ utilizando el comando ezplot

ezplot('sin(x)^2+2*x*cos(x)',[-10,10])


-10 -8 -6 -4 -2 0 2 4 6 8 10
-20
-15
-10
-5
0
5
10
15
20
x
sin(x)
2
+2 x cos(x )

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 25 de 38 I ng. Alej andro Hayes
Matlab cuenta con una serie de comandos que se utilizan para trabajar con ttulos , etiquetas, mallas y textos,
hemos utilizado algunos en los ejemplos anteriores pero daremos a continuacin una tabla con los mas
comunes.

title(texto) Aade el texto como titulo del grafico en la parte
superior del mismo .
xlabel(texto) Sita el texto al lado del eje x
ylabel(texto) Sita el texto al lado del eje y
zlabel(texto) Sita el texto al lado del eje z
text(x,y,texto) Sita el texto en el punto (x,y) dentro del grafico 2 D
text(x,y,z,texto) Sita el texto en el punto (x,y,z) dentro del grafico 3 D
gtext(texto) Permite situar el texto en un punto elegido con el
Mouse.
grid Sita rejillas en los ejes.
hold Permite mantener grficos para superponerlos.

Ilustraremos con algunos ejemplos la utilizacin de estos comandos.

Ejemplo 4.10:

Graficar las funciones x sen x x f 2 ) ( y ) 3 cos( 2 ) ( + + x x sen x g

x=0:0.1:10;
f1=x.*sin(2*x);
f2=sin(2*x)+cos(x+3);
plot(x,f1,'r');
ylabel('Variable Dependiente')
xlabel('Variable Independiente')
grid on
hold on
plot(x,f2,'g');
plot(x,f2+f1,'k +');


0 1 2 3 4 5 6 7 8 9 10
- 10
- 5
0
5
10
15
V
a
r
i
a
b
l
e

D
e
p
e
n
d
i
e
n
t
e
Var i abl e I ndependi ent e
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 26 de 38 I ng. Alej andro Hayes
Sobre la computadora se observa el efecto del hold on para dibujar cada grafica manteniendo la figura anterior.

Ejemplo 4.11

Definir la funcin
) 3 (
2
) (
+

x sen
e x f definiendo la variable en forma simblica. Graficarla en el intervalo [ ] 5 , 5

syms x real
f=exp(-sin(x.^2+3));
ezplot(f,[-5,5])

Obtenemos la siguiente salida:

-5 -4 -3 -2 -1 0 1 2 3 4 5
0.5
1
1.5
2
2.5
x
e x p(-s i n(x
2
+3))



Matlab cuenta con una serie importante de comandos para la manipulacin de grficos algunos de ellos se dan
en la tabla.

axis ([xmin xmax ymin ymax]) Ubica los valores maximo y minimo para los ejes
coordenados respectivos.
axis(auto) Sita los ejes en la escala automtica por defecto.
axis(axis) Congela la escala en los limites corrientes de modo de
permitir situar otro grafico sobre los mismos ejes
V=axis Da un vector de 4 elementos conteniendo la escala del
grafico corriente.
axis(xy) Sita el origen en la parte inferior izquierda.
axis(ij) Sita el origen en la parte superior izquierda
axis(square) Convierte el rectangulo del grafico en un cuadrado.
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 27 de 38 I ng. Alej andro Hayes
axis(equal) Situa el mismo factor de escala en ambos ejes.
axis(normal) Elimina las ociones square y equal
axis(off) Elimina etiquetas y marcas y rejillas de los ejes.
axis(on) Coloca de nuevo las etuquetas, marcas y rejillas

Veamos algunos ejemplos:

Ejemplo 4.12:

Para el ejemplo 4.11 consideremos las siguientes modificaciones:

x=-5:0.01:5;
f=exp(-sin(x.^2+3));
plot(x,f);
V=axis

V =

-5 5 0 3
axis('square')

-5 -4 -3 -2 -1 0 1 2 3 4 5
-2
-1
0
1
2
3
4
5

axis('equal')







Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 28 de 38 I ng. Alej andro Hayes













En muchos casos es importante poder visualizar varios graficas simultneamente pero no superpuestas y para
eso Matlab cuenta con una funcin que permite dividir la ventana grafica en nxm subventanas y coloca el
grafico en la ventana p-esima la sintaxis es:

subplot( m,n,p )

Ejemplo 4.13:
Visualizar simultneamente las graficas de:
x sen x f 3 ) ( , x x g 2 cos ) ( , ) 1 2 cos( ) ( + x x h ,
) 1 2 cos(
) (
+

x
e x k

x=(0:0.1:10);
f1=sin(3*x);
f2=cos(2*x);
f3=cos(2*x+1);
f4=exp(cos(2*x+1));
subplot(2,2,1);
plot(x,f1);
subplot(2,2,2);
plot(x,f2);
subplot(2,2,3);
plot(x,f3);
subplot(2,2,4);
plot(x,f4);

Obtenemos la siguiente salida:

-5 0 5
0
0.5
1
1.5
2
2.5
3
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 29 de 38 I ng. Alej andro Hayes
0 5 10
-1
- 0. 5
0
0. 5
1
0 5 10
-1
- 0. 5
0
0. 5
1
0 5 10
-1
- 0. 5
0
0. 5
1
0 5 10
0
1
2
3

En mltiples aplicaciones de ingeniera y ciencias se facilita la tarea usando grficos logartmicos o
semilogaritmicos las funciones que Matlab tiene para definir esto son las que se detallan a continuacin:

loglog(x,y) Realiza los mismos grficos que plot(x,y) pero con
escala logartmica.
semilogx(x,y) Realiza los mismos grficos que plot(x,y) pero con
escala logartmica x.
semilogy(x,y) Realiza los mismos grficos que plot(x,y) pero con
escala logartmica y.

Veamos un ejemplo combinando las funciones de grafica logartmica con subplot.

Ejemplo 4.14:

x=0:0.1:10;
f=exp(x)-1;
subplot(2,2,1);
plot(x,f);
subplot(2,2,2);
loglog(x,f);
subplot(2,2,3);
semilogx(x,f);
subplot(2,2,4);
semilogy(x,f);
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 30 de 38 I ng. Alej andro Hayes


Obtenemos la siguiente salida

0 5 10
0
0. 5
1
1. 5
2
2. 5
x 10
4
10
- 1
10
0
10
1
10
- 5
10
0
10
5
10
- 1
10
0
10
1
0
0. 5
1
1. 5
2
2. 5
x 10
4
0 5 10
10
- 5
10
0
10
5

4.1.2.Graficas de curvas dadas en coordenadas polares y
parametricas.

En muchos casos se hace necesario realizar graficas en forma Parametrica para lo cual lo nico que debemos
hacer es parametrizar la curva correspondiente como ilustra el ejemplo 17.

Ejemplo 4.15

Dada la curva definida en forma Parametrica por:

'



t sen t sen t y
t t t x
2 2 ) (
2 cos cos 2 ) (
con 10 0 t .

t=0:0.1:10;
x=2*cos(t)-cos(2*t);
y=2*sin(t)-sin(2*t);
plot(x,y,'r')


Obtenemos las siguiente salida:
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 31 de 38 I ng. Alej andro Hayes

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5
-3
-2
-1
0
1
2
3

Para realizar graficas en coordenadas polares Matlab cuenta con los siguientes comandos:

polar(a,r) Representa la curva en coordenadas polares
polar(a,r,S) Representa la curva en coordenadas polares con el
estilo de lneas especificado por S.

Ejemplo 4.16:

a=0:0.01:2*pi;
r=sin(2*a).*cos(2*a);
polar(a,r)


0. 1
0. 2
0. 3
0. 4
0. 5
30
210
60
240
90
270
120
300
150
330
180 0



Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 32 de 38 I ng. Alej andro Hayes
Ejemplo 4.17:

a=0:0.01:2*pi;
r=4*(1+cos(a));
polar(a,r)

2
4
6
8
30
210
60
240
90
270
120
300
150
330
180 0


5.I ntroduccin a la Programacin

Hasta ahora hemos visto que todos los comandos de Matlab que pueden escribirse y ejecutarse desde la lnea
de comandos ingresndolos directamente desde el teclado. Esta forma de trabajar es muy simple pero en la
practica presenta limitaciones cuando de desarrollos grandes se trata y es en estos casos donde el usuario
necesita hacerse un programa propio y personalizarlo a sus necesidades.
Matlab permite desarrollar programas con archivos M los que pueden hacerse mediante el editor de texto que
viene con Matlab y luego para ser ejecutado se lo llama desde la ventana de comandos con el nombre del
archivo.
Por defecto Matlab guarda estos archivos en un directorio llamado work del directorio de Matlab.
Estudiaremos dos tipos de archivos-M:

5.1.Archivos-M Script

Supongamos que elegimos nuestro editor de texto favorito por ejemplo notepad para crear un archivo llamado
funcion.m conteniendo las lineas:

x=-15:0.01:15;
f=sin(x)+4*sin(3*x)-cos(10*x);
plot(x,f);

Luego lo guardamos en principio en el directorio work y lo ejecutamos desde la lnea de comandos y
obtenemos lo siguiente:

funcion


Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 33 de 38 I ng. Alej andro Hayes
- 15 - 10 - 5 0 5 10 15
- 6
- 4
- 2
0
2
4
6


5.2.Archivos-M de Funcin

Los archivos de funcin provienen como una extensin de Matlab permitiendo al usuario crear funciones para
problemas especficos. Las funciones son como los Scripts, pero con el propsito de mejorar la velocidad del
computador se compilan en un bajo nivel de codigo de bytes cuando se los llama por primera vez. Los ejemplos
que desarrollaremos son todos de funciones-M para comenzar a familiarizarnos.

Ejemplom 5.1:

Supongamos que necesitamos determinar el volumen y la superficie de cilindros de distinto tamao para lo que
necesitamos una funcin que ingresndole el radio y la altura del cilindro nos de los datos requeridos.
Entramos en el editor de archivos M de Matlab y desarrollamos el siguiente programa.

%************************************************************************************************%
%Programa para determinar el volumen y la superficie de un cilindro ingresando
%el radio y la altura
%***********************************************************************************************%
function [volumen,superficie]=volumen_y_superficie_cilindro(radio,altura)
volumen=pi*radio.^2*altura;
superficie=2*pi*radio*altura+2*pi*radio.^2;

Luego salvamos el archivo con el nombre de cilindro_vol_sup.m en el directorio work de Matlab.
Ahora vamos a la linea de comandos y ejecutamos:

>cilindro_vol_sup(1,1)

ans =

3.14159265358979


Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 34 de 38 I ng. Alej andro Hayes
>>cilindro_vol_sup(1,3)

ans =

9.42477796076938

>>cilindro_vol_sup(5,8)

ans =

6.283185307179587e+002

>>


Vemos como el programa calcula lo solicitado.

Ejemplo 5.2:

Supongamos que deseamos realizar un programa que nos cargue una matriz elemento a elemento. En el
ejemplo realizado armamos la matriz A tal que
2 2
) , (
k h
k h
k h a
+
donde le indicamos a la funcin la
dimensin de la matriz veamos el programa:

%**********************************************************************%
%Programa que ingresando como argumentos el numero de filas y el numero
%de columnas de la matriz requerida ubica en cada posicion de la misma
%lo solicitado.
%**********************************************************************%
function y=llenamatriz(num_fila,num_columna)
for k=1:num_fila
for h=1:num_columna
y(k,h)=h.*k/(h.^2+k.^2);
end
end

Veamos que obtenemos si vamos a la lnea de comandos y le pedimos una matriz de

format rat
>>A=llenamatriz(10,10)

A =

Columns 1 through 5

1/2 2/5 3/10 4/17 5/26
2/5 1/2 6/13 2/5 10/29
3/10 6/13 1/2 12/25 15/34
4/17 2/5 12/25 1/2 20/41
5/26 10/29 15/34 20/41 1/2
6/37 3/10 2/5 6/13 30/61
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 35 de 38 I ng. Alej andro Hayes
7/50 14/53 21/58 28/65 35/74
8/65 4/17 24/73 2/5 40/89
9/82 18/85 3/10 36/97 45/106
10/101 5/26 30/109 10/29 2/5

Columns 6 through 10

6/37 7/50 8/65 9/82 10/101
3/10 14/53 4/17 18/85 5/26
2/5 21/58 24/73 3/10 30/109
6/13 28/65 2/5 36/97 10/29
30/61 35/74 40/89 45/106 2/5
1/2 42/85 12/25 6/13 15/34
42/85 1/2 56/113 63/130 70/149
12/25 56/113 1/2 72/145 20/41
6/13 63/130 72/145 1/2 90/181
15/34 70/149 20/41 90/181 1/2

>>

Utilizamos el formato racional para obtener resultados exactos y vemos como se genero la matriz pedida.

Ejemplo 5.3:

Supongamos ahora que dada una matriz queremos recorrerla y modificar alguno de sus elementos en este caso
el programa que se muestra a continuacin.

%***********************************************************************%
%Programa que recorre la matriz ingresada y si e elemento hk es negativo
%o cero lo reemplaza por un cero de lo contrario lo reemplaza por un uno
%***********************************************************************%
function y=recorre_matriz(A)
num_fila=length(A(1,:));
num_columna=length(A(:,1));
for k=1:num_fila
for h=1:num_columna
if A(k,h)<=0
A(k,h)=0;
else
A(k,h)=1;
end
end
end
y=A;

Veamos que obtenemos cuando lo llamamos al programa por lnea de comando:

>>A=[1 2 -4 7;9 -6 -8 5;2 -1 -3 7;9 -6 -5 -3]





Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 36 de 38 I ng. Alej andro Hayes

A =

1 2 -4 7
9 -6 -8 5
2 -1 -3 7
9 -6 -5 -3

>>recorre_matriz(A)




ans =

1 1 0 1
1 0 0 1
1 0 0 1
1 0 0 0


Ejemplo 5.4:

Supongamos que queremos construir una funcin que no se encuentra como predeterminada por Matlab por
ejemplo la funcin
1
) (
2
+

x
x
x f la hacemos de la siguiente forma:

%************************************************************************%
%Programa que crea una funcion racional%
%************************************************************************%
function f=func_racional_1(x)
f=x./ (x.^2+1);

Veamos que ocurre si vamos a la lnea de comandos y escribimos lo siguiente:

>> x=-10:0.1:10;
>> f=func_racional(x);
>> plot(x,f);
>> grid on
>>

Obtenemos el siguiente grafico:

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 37 de 38 I ng. Alej andro Hayes

Ejemplo 5.5:

Como ultimo ejemplo vamos a realizar un algoritmo que permita calcular la raz aproximada de una ecuacin
poli nmica mediante la aplicacin del mtodo de biseccin.
Supongamos que deseamos calcular el valor aproximado de 2 con un error menor que
6
10

para ello
consideremos la funcin 2 ) (
2
x x f en el intervalo [ ] 2 , 1 realicemos el siguiente programa:


%******************************************************************************************************************************%
%Programa que aplica el metodo de Biseccion a una funcion f que hay quer ingresarla entre comas 'f'%
%******************************************************************************************************************************%
function biseccion(f,x_max,x_min,error)
while abs(x_max-x_min)>error %El ciclo se ejecuta mientras x_max-x_min sea mayor que el error
deseado%
y_x_max=feval(f,x_max); %Evaluamos la funcion en x_max%
y_x_min=feval(f,x_min); %Evaluamos la funcion en x_min%
if y_x_max==0; %Vemos si es cero x_max%
disp('Una Raiz es:');
disp(x_max);
elseif y_x_min==0; %Vemos si es cero x_min%
disp('Una Raiz es:');
disp(x_min);
elseif y_x_max*y_x_min>0; %Vemos si el intervalo no cumple Bolzano%
disp('Intervalo Incorrecto')
else
x_medio=(x_max+x_min)/2; %Calculamos el punto medio%
y_x_medio=feval(f,x_medio); %Evaluamos la funcion en el punto medio%
if y_x_min*y_x_medio<0 %Vuelvo a probar Bolzano%
x_max=x_medio;
else
x_min=x_medio;
end
end
end
disp('El valor de la raiz es:')
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires UDB Matemtica


Laboratorio de Matemtica Pgina 38 de 38 I ng. Alej andro Hayes
disp(x_medio)


Ahora vamos a la linea de comandos y lo ejecutamos lo siguiente:

biseccion('polinomio_1',1,2,0.000001)
El valor de la raiz es:
1.41421413421631

Para poder llamar a la funcin polinomio_1 esta tuvo que ser definida previamente por el usuario y esto se
logro haciendo el siguiente archivo.

function y=polinomio_1(x)
y=x.^2-2;



Referencias:

[1] Mark Austin, and David Chancogne : Engineering Programming C , MATLAB , JAVA.John Wiley & Sons.
Inc. 1999.
[2] Delores M. Etter: Solucion de Problemas de Ingeniera con Matlab 2da Edicin . Prentice Hall 1998.
[3] Cesar Perez: Anlisis Matemtico y lgebra Lineal con Matlab. Ra-Ma 1999.
[4] Shoichiro Nakamura: Anlisis Numerico y Visualizacion Grafica con Matlab. Prentice Hall 1999.

You might also like