Anda di halaman 1dari 24

Cap tulo 1 Laboratorio de M etodos Num ericos, usando Matlab

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.

Algunas funciones propias de Matlab

Se muestran las siguientes funciones predeterminadas por Matlab:

sin cos tan asin acos atan log

seno coseno tangente arco seno arco coseno arco tangente logaritmo natural

log10 logaritmo en base 10 exp sqrt exponencial ra z cuadrada

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

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.

Vectores y Matrices en Matlab

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

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

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

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

1.4.1.

Algunas matrices predenidas por Matlab

i) Matriz de unos.

(a)

(b)

(c)

Figura 1.1: Usos de la funci on ones( )

ii) Matriz de ceros.

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

(a)

(b)

(c)

Figura 1.2: Usos de la funci on zeros( )

iii) Matriz identidad y variantes

(a)

(b)

Figura 1.3: Usos de la funci on eye( )

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

1.4.2.

Operaciones en una matriz o vector

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:

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.4: Adicionando una columna C1 m as a la matriz M

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.5: Adicionando dos las m as f1 y f2, al nal de la matriz M

Laboratorio de M etodos Num ericos

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.6: Extrae desde la la 2 hasta la la 3, desde la columna 2 hasta la columna 4 de la matriz A

Laboratorio de M etodos Num ericos

10

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.7: Extrae una columna o la de la matriz A

Laboratorio de M etodos Num ericos

11

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

1.5.

Expresiones matem aticas


signicado Suma o resta de n umeros o matrices Multiplicaci on usual de matrices Divisi on potencia Soluciona un sistema lineal de ecuaciones Multiplica dos vectores o matrices de la misma dimensi on elemento a elemento Divide dos vectores o matrices de la misma dimensi on elemento a elemento Para elevar a la potencia cada elemento de una vector o matriz +/ / \ /

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:

Figura 1.8: Para un n umero x = 2

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

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.9: Para un vector x de 10 elementos

1.5.1.

Inversa de una matriz

La inversa de una matriz se ejecuta con la orden inv Ejemplo 1.5.3 Dada la matriz 1 2 3 4

9 5 2 1 A= 3 1 1 2 3 4 1 2 En matlab ser a de forma directa

Laboratorio de M etodos Num ericos

13

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

1.5.2.

Matriz transpuesta de una matriz

La transpuesta de una matriz se ejecuta con el s mbolo (ap ostrofe) Ejemplo 1.5.4 Dada la matriz 1 2 3 4

9 5 2 1 A= 3 1 1 2 3 4 1 2 En Matlab ser a de forma directa

Laboratorio de M etodos Num ericos

14

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

1.6.

Gr aca de funciones en dos dimensiones

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)

Laboratorio de M etodos Num ericos

15

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ejemplo 1.6.1

Laboratorio de M etodos Num ericos

16

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ejemplo 1.6.2

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.

Laboratorio de M etodos Num ericos

17

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ejemplo 1.6.3

Figura 1.10: Presenta m as detalles en la gr aca, adem as se usa hold on

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.

Laboratorio de M etodos Num ericos

18

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ejemplo 1.6.4

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.

Laboratorio de M etodos Num ericos

19

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

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 :

function [salida1, ... ,salida2]=Nombre-funcion(dato1, ...,dato2)

Y se guarda esta funci on con el mismo nombre Nombre-funcion

Laboratorio de M etodos Num ericos

20

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil Ejemplo 1.7.1

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

Laboratorio de M etodos Num ericos

21

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

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

Laboratorio de M etodos Num ericos

22

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

for / Desde Sintaxis: for I = ValInical : variacion : ValFinal Sentencia(1); . . . Sentencia(k); end

Ejemplo 1.7.2

Laboratorio de M etodos Num ericos

23

UNIVERSIDAD NACIONAL DE INGENIER IA Facultad de Ingenier a Civil

Figura 1.13: Ejecutando la funci on en la ventana de comandos

Funciones importantes para el mantenimiento de los programas y/o funciones

clc clear hold on hold of

Limpia la ventana de comandos Limpia las variables de la memoria Agrega gr acas sobre otra ya existente Limpia los gr acos

Laboratorio de M etodos Num ericos

24

Anda mungkin juga menyukai