Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Matem
atica computacional
A MATLAB
INTRODUCCION
Ediitado por:
Laura Viviana Arango Ramrez
Presentado a:
Julio Cesar Duarte
Universidad Surcolombiana
Facultad de Ciencia Exactas y Naturales
Programa de Matematica aplicada
Neiva (Huila)
febrero 2015
Contents
1 Introducci
on a MATLAB
1.1 Interface . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Ventana de Comandos (Command Window)
1.1.2 Historial de Comandos (Command History)
1.1.3 Area
de Trabajo (Workspace) . . . . . . . .
1.1.4 Ventana de Direccion (Current Folder) . . .
1.2 Operaciones basicas en MATLAB . . . . . . . . . .
1.3 Variables . . . . . . . . . . . . . . . . . . . . . . .
1.4 Vectores . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Vector Fila . . . . . . . . . . . . . . . . . .
1.4.2 Vector Columna . . . . . . . . . . . . . . .
1.4.3 Operaciones con Vectores . . . . . . . . . .
1.5 Matrices . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Indices . . . . . . . . . . . . . . . . . . . . .
1.5.2 Operaciones y Funciones con Matrices . . .
1.5.3 Adici
on y Sustraccion de Matrices . . . . .
1.5.4 Producto entre Matrices . . . . . . . . . . .
1.5.5 Transpuesta de una Matriz . . . . . . . . .
1.6 Polinomios . . . . . . . . . . . . . . . . . . . . . .
1.6.1 Evaluando Polinomios . . . . . . . . . . . .
1.6.2 C
alculo de las Races de un Polinomio . . .
1.7 Gr
aficas . . . . . . . . . . . . . . . . . . . . . . . .
1.7.1 Gr
aficas 2D . . . . . . . . . . . . . . . . . .
1.7.2 Opciones de graficas . . . . . . . . . . . . .
1.7.3 Gr
aficas Polares . . . . . . . . . . . . . . .
1.7.4 Gr
aficas 3D . . . . . . . . . . . . . . . . . .
1.8 Funciones . . . . . . . . . . . . . . . . . . . . . . .
1.9 Programaci
on con MATLAB . . . . . . . . . . . . .
1.9.1 Instrucci
on if-end . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
3
3
3
3
5
5
6
6
6
7
7
7
8
8
8
8
9
9
10
10
12
13
14
16
17
17
Chapter 1
Introducci
on a MATLAB
MATLAB es un lenguaje de muy alto nivel dise
nado para computo tecnico. Integra un mismo ambiente muy f
acil de usar calculos, visualizacion y programacion.
En este ambiente los problemas y sus soluciones se pueden expresar en notacion
matematica facil de entender.Algunos de los usos mas comunes de MATLAB son:
C
alculos matematicos
Desarrollo de algoritmos
Modelado y simulaci
on
An
alisis de datos y obtencion de graficas
Desarrollo de interfaces graficas
MATLAB es el acr
onimo de MATrix LABoratory y originalme fue desarrollado
para relizar operaciones con matrices. Actualmente es un sistema de calculo de
operaciones matem
aticas y programcion intereactivo que integra un sistema de
graficaci
on.
1.1
Interface
Area
de Trabajo (Workspace)
Ventana de Direcci
on (Current Folder)
1.1.1
Este espacio es el m
as importante del escritorio, ya que aqu se introducen los
comandos, adem
as de ser un punto de entrada es a su vez uno de salida.
1.1.2
Como su nombre lo indica es el registro permanente de cualquier comando digitado en la ventana de comandos, incluso despues de haber limpiado dicha ventana, de llegarlos a necesitar solo debemos arrastrarlos a la Command Window
o con doble clic en el comando requerido.
1.1.3
Area
de Trabajo (Workspace)
En esta ventana tendremos una visualizacion de todas las variables que se encuentran definidas, si por alguna razon MatLab requiere una nueva variable para
guardar el resultado de un proceso o simplemente porque no estaba definida, el
crear
a la variable ans y su valor sera el resultado de dicho proceso; para borrar
la lista de variables que se encuentran en la base de datos del area de trabajo
(Workspace) se usa el comando clear; por u
ltimo el comando who permite visualizar todas las variables que se han definido, en caso que se hubiese cerrado
la ventana del
area de trabajo.
1.1.4
Ventana de Direcci
on (Current Folder)
Es una previsualizaci
on del lugar en el que se han guardado los archivos del
proyecto, adem
as es posible modificar la ruta en la que se van o han guardado
dichos archivos.
1.2
En particular eps es una cantidad que se una por lo general para evitar division
por cero y NaN es un resultado que MATLAB presenta cuando el resultado de
la operaci
on indicada no es numerico. A continuacion incluiremos una lista de
comandos que le facilitaran el uso de MATLAB.
1.3
Variables
1.4
Vectores
1.4.1
Vector Fila
Primero, hay que asignar una variable que contenga los valores del vector, luego
cada elemento debe estar separado por una coma >> , y finalmente recordemos
que todos los elementos deben estar contenidos dentro de corchetes.
Ejemplo 4. El vector v =< 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 > , es generado ingresando:
>> v = [1 : 10], para MatLab, los dos puntos (:) funcionan como un
contador, es decir que genera un vector que contiene n
umeros del 1 al 10,
no necesariamente se tiene que incrementar por n
umeros enteros, pueden
ser decimales, n
umeros negativos o constantes.
>> u = [1 : 0.1 : 10], Fjese que ahora el nuevo vector contiene 100
elementos, cada uno de ellos conservando una distancia de 0.1 entre cada
elemento.
1.4.2
Vector Columna
Para ingresar este tipo de vectores, basta con remplazar la coma (,) por el
punto y coma (;), los comandos que se utilizan en vectores fila, funcionan igual
en vectores columna.
El vector :
5
6
v=
7
8
La sintaxis que debemos utilizar sigue siendo la misma, es decir que lo que
debemos digitar es: >> v = [5; 6; 7; 8]
1.4.3
A continuaci
on se presentar
a una tabla con algunas de las operaciones que se
usan con mayor frecuencia para operar vectores, cada una con su respectivo
comando.
Dados los vectores fila u y v definidos:
Comando
Operacion
>> u + v
% Suma de vectores.
>> u0
% Transpuesta de u;( u se transforma en vector columna).
>> u v 0
% Producto interno entre u y la transpuesta de v.
>> sqtr(u v 0 ) % Norma del producto u v 0 . Tambien podemos usar el
comando norm(u v 0 ).
>> sin(u)
% nos calcula en seno de cada uno de sus elementos.
>> u.v; u./v
% Toma los valores de u y los aplica seg
un la operacion
dada a los elementos de v.
>> u4
% Toma los elementos de u y los eleva a el exponte indicado.
>> length(u)
% Nos muestra la cantidad de elementos del vector u (longitud de u)
1.5
Matrices
8
A = 12
4
7
11
3
6 5
10 9
2 1
1.5.1
Indices
Dada una Matriz cualquiera, se le puede extraer informacion, es tan sencillo que
basta con encerrar en parentesis >> (m,n) los indices del elemento que buscamos, en caso de que necesitemos una columna o una fila completa, utilizamos
los dos puntos (:), as :
>> A(3, 1)
% Extrae el elemento que se encuentra en la tercera fila y esta
en la primera columna de la matriz A.
>> A(2, :)
% Extrae la segunda fila de la matriz A.
>> A(:, 3)
% Extrae la tercera columna de la matriz A
>> A(1 : 2, 1 : 2) % Extraera una matriz de tama
no 2x2 formada por los elementos de la fila (1, 2) y de las columnas (1, 2)
1.5.2
Para MatLab las matrices son su especialidad, as que nos permite realizar operaciones comunes entre matrices , utilizando los siguientes smbolos; +, , ,,
adem
as de un conjunto de funciones exclusivamente predefinidas para las matrices.
1.5.3
Adici
on y Sustracci
on de Matrices
1.5.4
1.5.5
El car
acter (apostrofe) denota la transpuesta de una matriz. Si tenemos la
matriz A y llamamos B = A0 , entonces B es la transpuesta de la matriz A. Es
tan sencillo como definir >> E = A0 .
1.6
Polinomios
x+1
x-1
4x2 + 2x 3
2x2 + 7x + 5
es
es
es
es
Ejemplo 6. El polinomio:
vector:
[1 1]
[1 -1]
[4 2-3]
[2 7x5]
p(x) = x4 8x2 + 6x 10
es representado por el
1.6.1
Evaluando Polinomios
1.6.2
C
alculo de las Races de un Polinomio
1.7
Gr
aficas
1.7.1
Gr
aficas 2D
La instrucci
on basica para graficar es plot(X,Y) donde X es un vector de puntos
y Y es un vector de datos y es de la misma dimension de vector X. Con el uso de
plot se abre una nueva ventana con la grafica. El vector de puntos X se puede
generar con la instrucci
on
x = linspace (x1,x2,n)
que indica que se genera un vector de n puntos igualmente espaciados. El
valor del primer punto es x1 y el valor del u
ltimo punto es x2. El incremento en
cada punto es (x2 x1)/(n 1).
Ejemplo 7. Si deseamos graficar sen(x) de 0a2 con una particion de 200 puntos,
usamos
>>x = linspace (0, 2 , 200)
>>y = sin(x);
>>plot(x,y)
El primer punto es 0, el u
ltimo punto es 200 y existe un total de 200 puntos.
Estos valores de x estan amacenados en un vector renglon de 200 dimensiones.
Obtenemos la grafica (1.2)
10
11
1.7.2
Opciones de gr
aficas
Existen varias opciones para dar mas informacion en una grafica. La forma mas
general de la instrucci
on plot es:
plot(X1,Y1,S1,X2,Y2,S2,...)
Donde Xi,Yicontiene la informacion de las curvas a graficar y Si son cadenas de
texto que especifican color, marcadores, tama
no de marcaadores, ancho del trazo
y estilos del trazo. Cada cadena puede tener de uno a cuatro caracteres. La tabla
1.5 muestra distintas opciones para e color de las curvas, el estilo y los marcadores.
El color del fondo de una grafica puede cambiarse con el comando
whitebg
Y se regresa al color anterior repitiendo el mismo comando. Para colocar texto
sobre una grafica usamos el comando
text(x,y, cadena)
dondex,y son las coordenadas donde empezara a escribirse el texto.
12
1.7.3
Gr
aficas Polares
En esta secci
on aprenderemos a escribir y a graficar funciones en coordenadas polares. Esto lo lograremos utilizando el comando
>> polar(, r, s);
donde y r son las coordenadas polares y s es una cadena que especifica las mismas
opcionnes del comando plot y es opcional
Ejemplo 9. Si deseamos graficar la funcion de la espiral
>> r = 2;
Usamos
>>teta= linspace (0, 8 , 200)
>>r= 2*teta;
>>polar(teta,r);
Para obtener la figura 1.5
1.7.4
Gr
aficas 3D
Para dibujar lneas y puntos en tres dimensiones usaremos los comandos plot3(x,y,z),
mesh, surf, fill3, contour, surfc. Todas las notaciones que usamos las graficas
en 2D sirven para el comando en 3D. Hay diferentes tipos de comandos para
generar diferentes tipos de graficas.
Ejemplo 11. Grafiquemos una funcion usando diferentes tipos de graficas. Sea
la funci
on:
p
x2 + y 2
f (x, y) = sin( p
)
x2 + y 2 + 0.1
1. Comencemos por generar las variables en las cuales se trabajara, en este
caso son x y y
>> [x, y] = meshgrid(10 : 0.5 : 10);
2. Ahora generamos una funcion la cual desarrolle la variable z.
p
p
>> z = sin( x.2 + y.2 )./ x.2 + y.2 + 0.1;
3. Utilizando el comando plot3 obtenemos:
>> plot3(x, y, z)
14
% Grafica en malla.
% Grafica de superficie.
% Grafica en lneas de contorno.
% Grafica de superficie con lneas de contorno.
15
1.8
Funciones
Las funciones son una parte importante en MATLAB, sirven para capsular tareas
que dependan de argumentos de entrada y devuelven argumentos de salida; el
trabajar con funciones en este programa puede resultar algo tedioso, ya que cuando
guardamos una funci
on creada en un directorio diferente a la carpeta de MATLAB,
que se encuentra en mis documentos; MATLAB, no reconocera la funcion que
acabamos de hacer.
Ejemplo 12. Veremos con un ejemplo como manejamos las bases en las que se
manejan las funciones en MATLAB; aplicaremos para ello la formula cuadratica
la cual nos sirve para hallar las races de un polinomio de grado dos, la agruparemos con la aplicaci
on de funcion.
Para empezar los comandos de las funciones no se hacen en la ventana de
comando, sino que para este tipo de organizacion de datos MatLab tiene una
ventana especial que aparecen con las teclas Ctrl + N
Una vez abierta la ventana editor estamos listos para ingresar los datos, por
lo tanto ya podemos iniciar con nuestro ejercicio, como sabemos la formula a
ejecutar es:
b b2 4 a c
x=
2a
Para:
ax2 + bx + c = 0
Lo cual nos indica que obtendremos dos races, una positiva y otra negativa,
sabiendo eso en la ventana de editor escribiremos los comandos de la siguiente
manera.
funci
on >> [x1, x2] = raices(a, b, c)
x1 = (b + sqrt(b2 4 a c))/(2 a);
x2 = (b sqrt(b2 4 a c))/(2 a);
x1 =
x2 =
16
Ahora podemos decir, que las funciones en MatLab tienen las siguientes
estructuras:
1.9
Programaci
on con MATLAB
1.9.1
Instrucci
on if-end
En MATLAB la declaraci
on if-end se usa con el proposito de cambiar la secuencia
en que se ejecutan las instrucciones, dependiendo de que se satisfagan algunas
17
18
19
Bibliography
[1] Sigmon, K. Introducci
on a Matlab, Department of Mathematics-University of
Florida.
[2] Mathews J.H, Fink K.D, Metodos Numericos con Matlab, 3ra Edicion Prentice Hall 2000.
[3] Marc E. Herniter, Programing in Matlab, Thomson learning 2001.
pido de MatLab, Universidad Pontificada [4] Rafael Palacios. Curso Ra
Escuela Tecnica de Ingeniera,Diciembre de 2003.
pez R., Mauricio Osorio L. Gua Ba
sica de Mat[5] Bibiana Lo
Lab,Universidad Nacional de Colombia - Sede Medellin - Facultad de Ciencias,
2002.
20