1.1. Introducci on
El objetivo del laboratorio, es de comprender y aplicar los diversos m etodos num ericos vistos en la teor a del curso, para la resoluci on de problemas, haciendo uso del programa Matlab. MATLAB puede considerarse como un lenguaje de programaci on de c alculo num erico orientado a matrices. Por tanto, ser a m as eciente si se dise nan los algoritmos en t erminos de matrices y vectores. Presenta las siguientes caracter sticas notables: La programaci on es mucho m as sencilla. Cuenta con una biblioteca matem atica amplia. Tiene abundante herramientas gr acas, inclu da funciones de interfaz con el usuario. Capacidad de vincularse con otros lenguajes de programaci on o softwares. Una caractr stica extraordinaria en Matlab cualquier variable puede contener n umeros de cualquier tipo sin una declaraci on especial durante la programaci oncon lo cual esta u ltima se hace m as r apida y productiva.
1.2.
Ventanas en Matlab
Matlab presenta cinco ventanas importantes que podr a variar seg un la versi on. 1
UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ventana de comandos, es la ventana principal que se muestra al iniciarse Matlab, que tambi en puede llamarse ventana de ejecuci on, y es donde se ejecuta una orden en cuanto le demos un Enter . Ventana del Editor, en esta ventana se escribe el c odigo del programa a ejecutarse, que puede ser s olo programa o funci on creada por el usuario. Ventana del Historial, es aqui donde se muestra las o rdenes realizadas en la ventana de comando, y los guarda por fechas. Ventana de directorio, en esta ventana se muestran los archivos o programas alamacenados en la direcci on de trabajo. Ventana del espacio de trabajo (workspace), contiene las variables que se crea y la almacena en la memoria s olo durante la sesi on de Matlab.
1.3.
seno coseno tangente arco seno arco coseno arco tangente logaritmo natural
funci on de Matlab abs min max sum norm length size det
signicado valor absoluto devuelve el valor m nimo de un vector devuelve el valor m aximo de un vector devuelve la suma de los elementos de un vector norma euclidea de un vector longitud de un vector devuelve el orden de una matriz devuelve el determinante de una matriz cuadrada
1.4.
Un vector la en matlab es: v1n = [v1 v2 . . . vn ], separados por un espacio o tambi en puede usarse una coma (,). Un vector columna en matlab es: vn1 = [v1 ; v2 ; . . . ; vn ], separados por un punto y coma (;). Luego una matriz es: Mf c = [m11 m12 . . . m1c ; m21 m22 . . . m2c ; mf 1 mf 2 . . . mf c ]
Ejemplo 1.4.1 Leer los siguientes vectores y matriz en la ventana de comandos de matlab a) Vector la v = 2 4 6 4 8
4 b) Vector columna w = 6 4 8
c) La matriz M = 6 7 8 9 10 11 12 13 14 15
Recordando que se usar a el espacio en blaco o coma para separar los elementos por las y el punto y coma para los saltos de l nea. Laboratorio de M etodos Num ericos 4
1.4.1.
i) Matriz de unos.
(a)
(b)
(c)
(a)
(b)
(c)
(a)
(b)
1.4.2.
Asumiendo que se tiene la siguiente matriz 1 2 3 4 5 M = 6 7 8 9 10 11 12 13 14 15 se puede hacer las siguientes operaciones.
Se puede adicionar un vector columna al inicio o al nal de la matriz M . Se puede adicionar un vector la al inicio o al nal de la matriz M . Se puede extraer submatrices o vectores de la matriz M .
Es decir, se puede hacer las siguientes acciones en Matlab La expresi on A = M (: , 4) se lee: en A copia de M todas las las de la columna 4 La expresi on A = M (2 , :) se lee: en A copia de M la la 2 todas las columnas La expresi on A = M (1 : 2, 3 : 5) se lee: en A copia de M desde la la 1 hasta la la 2, desde la columna 3 hasta la columna 5
Veamos:
Figura 1.6: Extrae desde la la 2 hasta la la 3, desde la columna 2 hasta la columna 4 de la matriz A
10
11
1.5.
S mbolo
Ejemplo 1.5.1 Sea el n umero x = 2, se desea evaluar la siguiente expresi on y = x sen(2x) + ln(x2 ) e3x Luego en Matlab se tiene:
Ejemplo 1.5.2 Para la misma expresi on matem atica y = x sen(2x) + ln(x2 ) e3x Se quiere evaluar para una lista de n umeros almacenados en un vector x= Luego en Matlab se tiene: Laboratorio de M etodos Num ericos 12 1 2 3 4 5 6 7 8 9 10
1.5.1.
La inversa de una matriz se ejecuta con la orden inv Ejemplo 1.5.3 Dada la matriz 1 2 3 4
13
1.5.2.
La transpuesta de una matriz se ejecuta con el s mbolo (ap ostrofe) Ejemplo 1.5.4 Dada la matriz 1 2 3 4
14
1.6.
Para gracar funciones en 2D se presentar a dos formas, sinembargo Matlab tiene mas funciones para gr acos en 2D asi como para 3D.
1.6.1.
Funci on plot()
Esta funci on requiere dos vectores X e Y de la misma cantidad de elementos, la primera alamcena las abscisas y la segunda las ordenadas de un punto a gracar. Es decir si la longitud de los vectores es n se tiene n puntos a gracar, plot graca uniendo los puntos con un segmento, es por ello para que se observe una gr aca continua y suave se requiere mayor cantidad de puntos muy cercanos.
Sintaxis :
plot(X,Y)
15
16
Adem as que esta funci on permite agregar detalles al gr aco, como color de la l nea, forma de las l neas, t tulo al gr aco, ejes, cuadros de texto interior, etc. Puede verse las diversas opciones escribiendo en la ventana de comando: help plot la opci on hold on permite agregar un gr aco sobre otro gr aco.
17
1.6.2.
Funci on fplot()
Esta funci on es directa, y puede combinarse con la funci on plot usando hold on
Sintaxis :
fplot(cad,intervalo)
Donde cad: Es la expresi on matem atica en cadena a gracar. intervalo: Es el intervalo donde se graca.
18
Observaci on 1.6.1 Matlab tiene una ayuda directa, si en la ventana de comando se digita help Nombre-Funcion devuelve en datalle el uso de la funci on Nombre-Funcion a buscar.
19
1.7.
Programaci on en Matlab
Para escribir el c odigo de un programa vamos a la ventana del Editor, en el men u archivo(File), nuevo(new),archivo en blanco(Blank M-File)
Se tiene dos formas de programas: S olo programa o s olo funci on, la diferencia est a en que si es s olo programa no requiere datos de ingreso ya es interno y si es funci on requiere los datos de ingreso y es m as exible. Construiremos funciones.
Sintaxis :
20
Figura 1.11: Debe guardarse con el mismo nombre (pruebita). Se ejecuta en la ventana de comandos Ejecuci on:
Figura 1.12: Para ejecutar,la ventana de comandos debe estar en el directorio donde est a en archivo pruebita
21
1.7.1.
Codicaci on
Para rutinas mas complejas se requiere usar condiciones y bucles. Matlab presenta las siguientes: if-else / si-sino Sintaxis: if condicion Sentencia(1); . . . Sentencia(k); else Sentencia(1); . . . Sentencia(n); end while / mientras Sintaxis: while condicion Sentencia(1); . . . Sentencia(k); end
22
for / Desde Sintaxis: for I = ValInical : variacion : ValFinal Sentencia(1); . . . Sentencia(k); end
Ejemplo 1.7.2
23
Limpia la ventana de comandos Limpia las variables de la memoria Agrega gr acas sobre otra ya existente Limpia los gr acos
24