Вы находитесь на странице: 1из 27

Metodos numericos

Instituto tecnolgico de colima

Angel Daniel Mungua Mendoza

5-9-2012

Contenido 1.-Mtodos numricos 2.-Comandos de inicializacin...4 3.-Constantes de Matlab.5 4.-Operadores a aritmticos...6 5.-Jerarqua de operaciones..7 6.-Vectores....8 6.1-Operaciones con vectores.10 6.2-Hacer referencia a elementos de un vector ...10 6.3-Eliminar un dato de un vector11 6.4-Modificacin de datos.12 6.5-Operadores de relacin con vectores..14 7.-Matrices o tablas..16 7.1-Hacer uso o copiar datos de una tabla .16 7.2-Funcin RESHAPE..18 7.3-Modificar datos de una tabla ...20 7.4-Agregar un rengln o columna...21 7.5-Eliminacin de un rengln o columna...22 7.6-Matrices elementales...23 8.-Aproximaciones y tipo de errores ...24

Introduccin El objetivo de este pequeo trabajo es conocer las principales caractersticas y funciones del software Matlab, utilizarlas y realizar diferentes practicas con ellas. Como ya sabemos los numricos constituyen tcnicas mediante las cuales es posible formular problemas matemticos, de tal forma que puedan resolverse utilizando operaciones aritmticas. Por el creciente desarrollo de computadoras digitales eficientes y rpidas, el papel de los mtodos numricos en la solucin de problemas en ingeniera ha aumentado de forma considerable en los ltimos aos.

Los mtodos numricos En la actualidad, las computadoras y los mtodos numricos ofrecen una alternativa para los clculos complicados. Al usar la potencia de la computadora se obtienen soluciones directamente, de esta manera se pueden aproximar los clculos sin tener que recurrir a consideraciones de simplificacin o a tcnicas muy lentas. Los mtodos numricos son herramientas muy poderosas para la solucin de problemas. Son capaces de manipular sistemas de ecuaciones grandes, manejar no linealidades y resolver geometras complicadas, comunes en la prctica de la Ingeniera y, a menudo, imposibles de resolver en forma analtica. Los mtodos numricos son un medio para reforzar su comprensin de las matemticas, ya que una de sus funciones es convertir las matemticas superiores en operaciones aritmticas bsicas, de esta manera se puede profundizar en los temas que de otro modo resultaran oscuros.

Comandos de inicializacin Comando Diary El comando diary ordena a MATLAB que grabe todas la operaciones que se realizan en su ventana y que guarde los resultados en el archivo de texto. Inicializar el comando diary : Se escribe diary Nom_archivo.txt Finalizar el diary: Se escribe diary off Comand help Muestra las funciones y sus caractersticas disponibles en Matlab help HELP topics: matlabxl\matlabxl matlab\demos matlab\graph2d matlab\graph3d matlab\graphics matlab\plottools matlab\scribe matlab\specgraph matlab\uitools toolbox\local matlab\general matlab\ops matlab\lang matlab\elmat - MATLAB Builder EX - Examples and demonstrations. - Two dimensional graphs. - Three dimensional graphs. - Handle Graphics. - Graphical plot editing tools - Annotation and Plot Editing. - Specialized graphs. - Graphical user interface components and tools - General preferences and configuration information. - General purpose commands. - Operators and special characters. - Programming language constructs. - Elementary matrices and matrix manipulation.

Seleccin de una funcin en especfico help ops Operators and special characters. Arithmetic operators. plus uplus minus uminus mtimes times mpower power - Plus - Unary plus - Minus - Unary minus - Matrix multiply - Array multiply - Matrix power - Array power + + * .* ^ .^ \ /

mldivide - Backslash or left matrix divide mrdivide - Slash or right matrix divide ldivide rdivide idivide kron - Left array divide - Right array divide - Kronecker tensor product .\ ./

- Integer division with rounding option.

Comentarios en Matlab % Este es un comentario Constantes de Matlab Ejemplo pi ans = 3.1416 Mostrar ms valores una constante Ejemplo 1 format long pi ans =

3.14159265358979 Ejemplo 2 vpa(pi,50) ans = 3.1415926535897932384626433832795028841971693993751 Variable psilon eps = 2.220446049250313e-016 Divisin con cero Ejemplo 1 3/0 ans = Inf % inf significa infinito Ejemplo 2 0/0 ans = NaN % NaN significa no es un numero Operadores a aritmticos Suma 1+9 ans = 10 Resta 9-1 ans = 8 Multiplicacin 7*9 ans = * - +

63 Divisin 9/9 ans = 1 Divisin izquierda \ 9\3 ans = 0.3333 Exponente 9.^3 ans = 729 Nota. (Es necesario agregar un . y despus du operador as . ^. Jerarqua de operaciones u orden de evaluacin de las operaciones aritmticas Primero........................... ^ (Exponente). Segundo Ejemplo a= 3 + 6 * 8 - 5 / 6 - 7 ^ 3 a= -292.8333 a = (1 + 3) * 5 - 10 / 4 - 8 ^ 1 a= 9.5000 a = ((5 + 2) * 2 - 10) / 1 - 7 ^ 1 a= -3 *, /, \ (Multiplicacin, divisin y divisin izquierda). Tercero.....+,- (Suma o resta). .^ /

Listas o vectores Una lista o vector en Matlab es un conjunto de datos almacenados en una fila. Sintaxis para generar o crear un vector: var = [Datos] Crear vector mdiate espacios a = [1 8 -5 10 2 7] a= 1 8 -5 10 2 7 Crear vector separando por comas a = [1,8,-5,10,2,7] a= 1 8 -5 10 2 7

Crear vector de forma mixta a = [1,8 -5 10:1:13] a= 1 8 -5 10 11 12 13 Notacin (:) Para generar series Sintaxis Var = [inicio:fin] Ejemplo 1 b = [-2:5] b= -2 -1 0 1 2 3 4 5 Ejemplo 2 var = [inicio:incremento:fin] d = [-1:.6:3] d= -1.0000 -0.4000 0.2000 0.8000 1.4000 2.0000 2.6000 Vector en forma vertical Se agrega apostrofe despus del cierre del vector Ejemplo

El carcter (') lo hace vertical e = [2:.5:5]' e= 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 Comando who Muestra todas las variables que tengo actualmente who Your variables are: a e Comando whos Muestra la informacin de las variables detallada whos Name a e f y Ejemplo a,b a= 0 b= -2 -1 0 1 2 3 4 5 Size 1x1 7x1 1x86 1x11 Bytes Class 8 double 56 double 688 double 88 double Attributes

Muestra de variables

10

Agregar a una variable el valor de dos vectores o ms Ejemplo f = [a b] f= 6 5 4 3 2 1 1 2 3 4 5 6

Multiplicacin de un vector por una constante a= 6 d = 2*a d= 12 10 8 6 4 2 Divisin de un vector por una constante c = a / .3 c= 20.0000 16.6667 13.3333 10.0000 Vector elevado a una potencia a= 6 g= 36 o = .3/a % se necesita poner un punto antes de la operacin "./" ,".^" o= .5./a o= 0.0833 0.1000 0.1250 0.1667 0.2500 0.5000 % la suma y resta no requiere "." antes del operador Hacer referencia a elementos de un vector Sintaxis Var = vector(direcion) Ejemplo 1 25 16 9 4 1 5 4 3 2 1 g = a.^2 6.6667 3.3333 5 4 3 2 1

11

a= 6 f= 4 Ejemplo 2 Seleccin de varios elementos del vector n = a([2 4 1]) n= 5 3 6 diary off Eliminar un dato de un vector Sintaxis vector(direccion)= [] Ejemplo 1 a= 18 a= 18 20 24 26 28 30 Ejemplo 2 a(1:2:5) = [] a= 20 26 30 Ejemplo 3 a([2 3 5]) = [] a= 18 24 28 30 Ejemplo 3 a = [] % Eliminar todos los datos de a a= [] 20 22 24 26 28 30 a(3) = [] 5 4 3 2 1 >> f = a(3)

12

Eliminar valores en ans clear ans Eliminar todas las constantes o variables clear all Modificacin de datos Sintaxis Vector(direcion) = [datos] Ejemplo 1 Modificar 83 por un 81 a(3) = [81] a= 18 20 81 24 26 28 30 Ejemplo 2 % Modificar los 5 datos de en medio por [12 13 15 16 85] a(2:6) = [12 13 15 16 85] a= 18 12 13 15 16 85 30 Ejemplo 3 a(9) = [71] % si cambio una direccin que no existe lo realiza y las direcciones no consideradas las rellena con 0 a(9) = [71] a= 18 b = a' b= 18 12 13 15 16 85 30 12 13 15 16 85 30 0 71

13

0 71 Ejemplo 4 % Modificar los ltimos 3 datos de B por los tres primeros de A b (7:9) = a (1:3) b= 18 12 13 15 16 85 18 12 13 Ejemplo 5 % Agregar al principio la serie [2 5 8] a = [2 5 8 a] a= 2 5 8 18 12 13 15 16 85

Ejemplo 5 % Agregar al final de la serie [2 5 8] a = [a 2 5 8 ] a= 2 5 8 18 12 13 15 16 85 2 5 8 Ejemplo 6 % Insertar entre el 3 y 4 el 69 a = [a(1:3) 69 a(4:6)] a= 1 2 3 69 4 5 6

14

Operadores de relacin <, >, ==, <=, >=, ~= Ejemplo 1 1<9 ans = 1 % el uno significa veradero Ejemplo 2 2 == 9 ans = 0 % el cero significa falso Ejemplo 3 a > 25 ans = 0 0 0 1 0 0 0 % pone uno en la posicin donde es verdadero Ejemplo 4 b= 1 y= 0 0 0 0 1 1 % pone uno en la posicin donde es verdadero Ejemplo 5 t = b(y) t= 5 6 % se muestran los valores de b donde y es verdadero Ejemplo 6 2 3 4 5 6

y=b >4

15

cc = b(~(y)) cc = 1 2 3 4 % se muestran los valores de b donde y es falso Ejemplo 7 a = [95 92 89 100 86 83 80] a= 95 92 89 100 86 83 80 Ejemplo 8 b = a > 50 b= 0 0 1 0 0 1 1 Ejemplo 9 Tomando valores de a donde b es verdadero c = a(b) c= 86 83 80 Ejemplo 9 e = c([1 1 1]) e= 86 Notas % 1 el vector de datos es igual (en tamao) al vector de direcciones vinarias y est formado de 0 y 1 obtenemos datos donde la direccion es 1 (verdadero) 2 El vector de datos es de diferente tamao que el vectorde direcciones vi naria y esta formado solo de 1 obtenemos datos repetidos (el de la direc. 1) 3 El vector de datos es de diferente tamao que el vector de direciones binarias y esta formado de 0 y 1; obtenemos un error 86 86 %Se tomaron los valores de c en el vector 1 = 86

16

Matrices o tablas Comenzamos a generar una tabla de datos o Matriz Sintaxis -> var = [ren1; ren2; ren3] A = [1 2 3; 9 6 7; 0 58 36] A= 1 9 0 2 6 58 3 7 36

Matriz magic A = magic(3) Con esta funcin Matlab se encarga de generar una matriz mgica, que sumando verticalmente, horizontalmente etc; siempre da el mismo resultado. Ejemplo 1 A = magic(3) A= 8 3 4 1 5 9 6 7 2

Ejemplo 2 A = magic(5) A= 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

Hacer uso o copiar datos de una tabla Sintaxis Var = tabla(renglon,columna) v = A(2,3) v= 7

17

El carcter (:) representa a todos (ren y/o col) Ejemplo 1. Copiar rengln 3 c = A(3,:) c= 4 6 13 20 22 Ejemplo 2. Copiar la col 1 c = A(:,1) c= 17 23 4 10 11 Ejemplo 3. Copiar el centro de B B = magic (5) B= 17 23 4 10 11 D= 5 6 12 7 13 19 14 20 21 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

D = B(2:4,2:4)

Ejemplo 3. Copiar el contorno E = B(1:4:5,1:4:5) E= 17 11 15 9

18

Ejemplo 3. Copiar el contorno B B= 17 23 4 10 11 d= 17 16 23 22 4 3 10 9 11 18 25 2 24 1 8 15 16 22 3 9 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

d = [B(1:5) B(10:5:20) B(6:5:20) B(21:25) ]

Function RESHAPE Esta funcin se encarga de convertir un vector en una matriz Ejemplo H = reshape(h,4,4) H= 17 23 4 10 11 18 25 2 24 1 8 15 16 22 3 9

Copiar datos de una tabla b = magic (4) b= 16 5 9 4 a= 3 2 11 7 14 3 10 6 15 13 8 12 1

a = b(1,3)

19

Copiar una columna de la matriz c = b(:,4) c= 13 8 12 1 Copiar una fila de la matriz f = b(2,:) f= 5 11 10 8 Acomodar los datos de mi tabla en forma vertical d =b(:) d= 16 5 9 4 2 11 7 14 3 10 6 15 13 8 12 1

20

Extraer un adato de la tabla Se seleccionar la posicin 5 de la tabla x = b(5) x= 2 Copiar la diagonal principal de mi tabla f = b(1:5:16) f= 16 11 6 1 Copiar la diagonal secundaria de mi tabla c = b(4:3:15) c= 4 7 10 13 Copiar centro de la tabla k = b(2:3,2:3) k= 11 7 10 6

Modificar datos de una tabla Sintaxis -> Tabla(renglon,col) = [datos] Ejemplo cambiar el 11 por el 66 b (2,2) = [66] b= 16 5 9 4 2 66 7 14 3 10 6 15 13 8 12 1

Cambiar mediante posicin b(5) = [69] b= 16 69 3 13

21

5 9 4

66 7 14

10 6 15

8 12 1

Cambiar el rengln 3 por la serie [-5:-2] b(3,:) = [-5:-2] b= 16 5 -5 4 69 66 -4 14 3 10 -3 15 13 8 -2 1

Cambiar el rengln 1 por la serie [1:4] b(:,1) = [1:4]' b= 1 2 3 4 69 66 -4 14 3 10 -3 15 13 8 -2 1%

Cambiar el centro de la tabla b por [1 2 ;3 4] b(2:3,2:3) = [1 2; 3 4] b= 1 2 3 4 69 1 3 14 3 2 4 15 13 8 -2 1

Agregar un rengln o columna Sintaxis -> Tabla(ren,col) = [renglon o columna] b= 1 2 3 4 69 1 3 14 3 2 4 15 13 8 -2 1

22

Agrega en el sptimo rengln la serie 4 9 8 16 b(7,:) = [4 9 8 16]' b= 1 2 3 4 0 0 4 69 1 3 14 0 0 9 3 2 4 15 0 0 8 0 0 16 13 8 -2 1

*Como la fila 7 no existe Matlab la agrega automticamente y las filas anteriores a la ltima que exista las rellena con 0. Agrega en el sptimo columna la serie 4 9 8 16 b(:,7) = [4 9 8 16 98 65 12]' b= 1 2 3 4 0 0 4 69 1 3 14 0 0 9 3 2 4 15 0 0 8 0 0 16 13 8 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 8 16 98 65 12 4

Eliminacin de un rengln o columna Sintaxis -> Tabla(ren,col) = [] Eliminar el 5 rengln b(5,:) = [] b= 1 2 3 4 69 1 3 14 3 2 4 15 13 8 -2 1 0 0 0 0 0 0 0 0 9 8 16 4

23

0 4

0 9

0 8

0 16

0 0

0 0

65 12

Eliminar el 5 fila b(:,5) = [] b= 1 2 3 4 0 4 69 1 3 14 0 9 3 2 4 15 0 8 0 16 13 8 -2 1 0 0 0 0 0 0 9 8 16 65 12 4

Insertar un rengln o columna Insertar la columna 5 en la 2a A = [A(:,1) A(:,5) A(:,2:5)] A= 16 500 20 510 9 520 4 530 2 11 33 14 30 22 44 45 13 500 23 510 12 520 1 530

100 550 200 300 400 550 Matrices elementales Matrices elementales zeros zeros (3) ans = 0 0 0 ones 0 0 0 0 0 0 - Matriz de unos - Matriz de ceros.

24

ones(3) ans = 1 1 1 eye eye(3) ans = 1 0 0 diag fliplr flipud reshape rot90 tril triu 0 1 0 0 0 1 - Crea o extrae diagonales. - Flip matrix in the left/right direction. - Flip matrix in the up/down direction. - Crea una matriz con los datos de un vector. - Rotate matrix 90 degrees. - Extract lower triangular part. - Extract upper triangular part. 1 1 1 1 1 1

- Matriz identidad

Matrix manipulation.

Aproximaciones En casos de informacin incompleta, que impide el uso de representaci ones exactas, pueden usarse aproximaciones. Por otra parte existen problemas que son demasiado complejos para resolverse analticamente, o bien imposibles de resolver con las herramientas disponibles. En estos casos, una aproximacin puede arrojar una solucin suficientemente exacta, reduciendo significativamente la complejidad del problema y el costo de su solucin. Tipo de errores Los errores numricos surgen del uso de aproximaciones para representar operaciones y cantidades matemticas exactas. stas incluyen los errores de truncamiento que resultan del empleo de aproximaciones como un procedimiento matemtico exacto, y los errores de redondeo que se producen cuando se usan

25

nmeros que tienen un lmite de cifras significativas para representar nmeros exactos. Para ambos tipos de errores, la relacin entre el resultado exacto, o verdadero, y el aproximado est dada por: Valor verdadero = Valor aproximado + error Reordenando la ecuacin (3.1) se encuentra que el error numrico es igual a la diferencia entre el valor verdadero y el valor aproximado, es decir Et = valor verdadero valor aproximado Donde Et se usa para denotar el valor exacto del error. El subndice t indica que se trata del error verdadero (true). Como ya se mencion brevemente, esto contrasta con los otros casos, donde se debe emplear una estimacin aproximada del error. Una desventaja en esta definicin es que no toma en consideracin el orden de la magnitud del valor que se estima. Por ejemplo, un error de un centmetro es mucho ms significativo si se est midiendo un remache en lugar de un puente. Una manera de tomar en cuenta las magnitudes de las cantidades que se evalan consiste en normalizar el error respecto al valor verdadero, es decir: Error relativo fraccional verdadero = (error verdadero / valor verdadero) El error relativo tambin se puede multiplicar por 100% para expresarlo como error verdadero et = (error verdadero / valor verdadero )100% donde et denota el error relativo porcentual verdadero. ERRORES DE REDONDEO Los errores de redondeo se originan debido a que la computadora emplea un nmero determinado de cifras significativas durante un clculo. Los nmeros tales como p, e o 7 no pueden expresarse con un nmero fijo de cifras significativas. Por lo tanto, no pueden ser representados exactamente por la computadora. Adems, debido a que las computadoras usan una representacin en base 2, no pueden representar exactamente algunos nmeros en base 10. Esta discrepancia por la omisin de cifras significativas se llama error de redondeo.

26

Errores de truncamiento Los errores de truncamiento son aquellos que resultan al usar una aproximacin en lugar de un procedimiento matemtico exacto. Por ejemplo, en el captulo 1 aproximamos la derivada de la velocidad de cada de un paracaidista mediante una ecuacin en diferencia finita dividida de la forma:

Se present un error de truncamiento en la solucin numrica, ya que la ecuacin en diferencia slo aproxima el valor verdadero de la derivada. Para obtener un conocimiento sobre las caractersticas de estos errores, debe considerar una formulacin matemtica que se utiliza ampliamente en los mtodos numricos para expresar funciones de manera aproximada: la serie de Taylor.

Вам также может понравиться