Anda di halaman 1dari 15

Mtodos Numricos Aplicados

EAPI IH UNC

2012 - 1

1. INTRODUCCION AL PROGRAMA MATLAB. 1. Introduccin al MatLab. o

MATLAB es un software interactivo que ha sido usado recientemente en varias reas de a ingenier y usos cient a cos. No es un lenguaje de programacin en el sentido normal pero hace o la mayor parte del trabajo de un lenguaje de programacin. Un aspecto atractivo de MATLAB o es que es relativamente fcil de aprender. Es escrito en una base intuitiva y no requiere el coa nocimiento a fondo sobre el principio operacional de programacin como la compilacin y la o o unin presentes en la mayor parte de otros lenguajes de programacin. El modo interactivo de o o MATLAB puede reducir la velocidad computacional en algunas aplicaciones. El poder de MATLAB es representado por la longitud y la simplicidad del cdigo. Por ejemo plo, una pgina de cdigo de MATLAB puede ser equivalente a muchas pginas de otros cdigos a o a o originales de lenguaje de programacin. El clculo numrico en MATLAB usa las colecciones o a e de subrutinas bien escritas cient cas/matemticas como LINPACK Y EISPACK. MATLAB a proporciona el Interfaz de Usuario Grco (GUI) as como la animacin tridimensional grca. a o a En general, MATLAB es un instrumento util para manipulaciones vectoriales y matriciales. Ya que la mayor de los sistemas de la ingenier es representada por ecuaciones vectoriales a a y matriciales, podemos reducir signicativamente nuestra carga de trabajo usando MATLAB. El mtodo del elemento nito es un candidato bien denido por el cual MATLAB puede ser e muy util como un instrumento de solucin. Las manipulaciones vectoriales y matriciales son o partes esenciales en el mtodo. MATLAB proporciona el men de ayuda de modo que nosotros e u podamos escribir el comando (la orden) de ayuda cuando necesitamos entender su funcin. La o utilidad de ayuda es bastante conveniente tanto para principiantes como para expertos.

2.

Operaciones vectoriales y matriciales.

Una vez que entramos en el MATLAB, nos encontramos con el s mbolo de ejecucin >>. o Este s mbolo recibe una orden de usuario y lo procesa proporcionando la salida sobre la siguiente l nea. Denamos la siguiente matriz: >> A=[1, 3, 6;2, 7, 8;0, 3, 9] Entonces la salida aparece en la siguiente l nea como mostrado debajo. A = 1 2 0 3 7 3 6 8 9

As una matriz es ingresada la por la, y cada la es separada por punto y coma (;). Dentro de , cada la, los elementos son separados por un espacio o una coma (,). El tamao de una matriz n es determinado por: >> size(A) ans = 3 3

Para encontrar el transpuesta de una matriz A, escribimos: >> A cuyo resultado es: ans = 1 3 6 2 7 8 0 3 9

Las componentes de columnas o de las encuentran en MATLAB una posibilidad muy verstil a de manipulacin. La expresin siguiente o o >> A(:,3) produce: ans = 6 8 9 que es la tercera columna de la matriz A. Adems, a >> A(1,:) representa la primera la de A como ans = 1 3 6

Tambin podemos hacer: e >> A(1,:)+A(3,:)


EAP IH - UNC MTODOS NUMRICOS APLICADOS 2012-1

como adicin de la primera y tercera las dando como resultado: o ans = 1 6 15

Ahora introducimos una nueva matriz B: >> B=[3, 4, 5;6, 7, 2;8, 1, 0]; Entonces no aparece alguna salida sobre la pantalla. MATLAB no muestra la salida sobre la pantalla cuando una operacin termina en punto y coma (;) al nal. o Si nosotros queremos chequear nuevamente la matriz B, tipeamos simplemente: >> B La salida de pantalla ser: a B = 3 6 8 4 7 1 5 2 0

2.1.

Adicin de matrices o

La adicin de dos matrices se efecta del siguiente modo: o u >> C=A+B C = 4 8 8 7 14 4 11 10 9

Aqu queda denida una nueva matriz C como suma de las matrices A y B.

2.2.

Sustraccin de matrices o

Para restar la matriz B de la matriz A, escribimos:


MTODOS NUMRICOS APLICADOS 2012-1

EAP IH - UNC

>> C=A-B C = -2 -4 -8 -1 0 2 1 6 9

2.3.

Multiplicacin de matrices o

La multiplicacin de matrices se efecta del siguiente modo: o u >> C=A*B C = 69 112 90 31 65 30 11 24 6

3.

Funciones de matrices

La manipulacin de matrices es una caracter o stica importante de las funciones de MATLAB. MATLAB es un instrumento util para las manipulaciones vectoriales y matriciales. Las coleccin o de funciones de matrices representativas de MATLAB son dadas en la Tabla 1.

TABLA 1. Funciones de matrices bsicas a S mbolo inv det rank cond eye (n) trace zeros (n, m) Explicaciones inversa de una matriz determinante de una matriz rango de una matriz nmero de condicin de una matriz u o matriz identidad n n suma de los elementos de la diagonal de una matriz matriz nula n m

4.

Matriz inversa

La inversa de una matriz se calcula fcilmente: a


EAP IH - UNC MTODOS NUMRICOS APLICADOS 2012-1

>> inv(A) ans = 1.8571 -0.8571 0.2857 -0.4286 0.4286 -0.1429 -0.8571 0.1905 0.0476

Para vericar la respuesta, podemos intentar hacer: >> A*inv(A) ans = 1.0000 -0.0000 0 0.0000 1.0000 0 0 0 1.0000

que da como resultado una matriz identidad de 3 3.

4.1.

Determinante de una matriz

>> d=det(A) produce el determinante de la matriz A, es decir: d = 21

4.2.

Rango de una matriz

El rango de una matriz A, que es el nmero mximo de las o columnas linealmente indeu a pendientes, se obtiene as : >> rank(A);

4.3.

Matriz identidad.

La funcin: o >> eye(3) produce:


EAP IH - UNC MTODOS NUMRICOS APLICADOS 2012-1

ans = 1 0 0 0 1 0 0 0 1

eye (n) produce una matriz identidad de orden n n.

4.4.

Matriz de n meros aleatorios. u

Una matriz que consiste en nmeros aleatorios puede ser generada usando la funcin de u o MATLAB siguiente: >> rand(3,3) ans = 0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575

Es decir rand (3, 3) produce una matriz de orden 3 3 cuyos elementos consisten en nmeros u aleatorios. El forma general es rand (n, m).

4.5.

trace

La suma de los elementos de la diagonal de una matriz, pueden ser calculados usando el operador trace. Por ejemplo: >> C=[1 3 9;6 7 2;8 -1 -2] Luego trace(C) produce 6; que biene a ser la suma de los elementos de la diagonal de la matriz C.

4.6.

Matriz nula.

>> zeros(5,4) Produce una matriz de orden 5 4 consistente de elementos nulos. En general, zeros (n, m) es usado para una matriz nula de n m.

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

4.7.

N mero de condicin. u o

El comando connd (A) es usado para calcular el nmero de condicin de una matriz A. El u o nmero de condicin representa el grado de singularidad de una matriz. Una matriz identidad u o tiene un nmero de condicin igual a la unidad, y el nmero de condicin de una matriz singular u o u o es el innito. >> cond(eye(6)) ans = 1 Por ejemplo una matriz cercana a singular es: A= Su nmero de condicin es: u o >> cond(A) ans = 4.0000e+006 Otras funciones de matrices importantes se presentan en la Tabla 2. No se incluyen todas las funciones de matrices del MATLAB, slo se presentan una parte de llas. o e 1 1 1 1 + 106

TABLA 2. Funciones de matrices bsicas (cont.) a S mbolo expm eig lu svd qr \ Explicaciones exponencial de una matriz valores propios/vectores propios de una matriz descomposicin LU de una matriz o descomposicin de una matriz en valores singulares o descomposicin QR de una matriz o usado en la solucin de un sistema de ecuaciones algebraicas lineales o

4.8.

Matriz exponencial.

La expresin expm (A) produce el exponencial de una matriz A; en otras palabras: o >> A=rand(3,3) A =
EAP IH - UNC MTODOS NUMRICOS APLICADOS 2012-1

0.9649 0.1576 0.9706 >> expm(A) ans = 3.1552 0.8505 2.9193

0.9572 0.4854 0.8003

0.1419 0.4218 0.9157

2.3833 2.2622 2.9245

0.8785 0.9934 3.2337

4.9.

Valores propios.

El problema de los valores propios de una matriz es denido como: A = en donde es el valor propio de la matriz A y es el vector propio asociado. >> e=eig(A) da los valores propios de A. >> [V,D]=eig(A) produce la matriz de V, cuyas columnas son eigenvectores o vectores propios, y la D diagonal de la matriz cuyos valores son los valores propios de la matriz A. Por ejemplo: >> A=[5 3 2;1 4 6;9 7 2]; >> [V,D]=eig(A) V = -0.4127 -0.5557 -0.7217 -0.5992 0.7773 -0.1918 0.0459 -0.6388 0.7680

D = 12.5361 0 0
EAP IH - UNC

0 1.7486 0

0 0 -3.2847
MTODOS NUMRICOS APLICADOS 2012-1

4.10.

Descomposicin LU. o

La orden de descomposicin LU es usado para descomponer una matriz en un producto de o matrices triangulares superior e inferior, respectivamente. >> A=[1 3 5;2 4 8;4 7 3]; >> [L,U]=lu(A) L = 0.2500 0.5000 1.0000 1.0000 0.4000 0 0 1.0000 0

U = 4.0000 0 0 7.0000 1.2500 0 3.0000 4.2500 4.8000

Para comprobar el resultado, hacemos: >> L*U ans = 1 2 4 3 4 7 5 8 3

La matriz triangular inferior L no es una matriz triangular perfecta. Existe otra orden disponible: >> [L,U,P]=lu(A) L = 1.0000 0.2500 0.5000 0 1.0000 0.4000 0 0 1.0000

U = 4.0000 0
EAP IH - UNC

7.0000 1.2500

3.0000 4.2500
MTODOS NUMRICOS APLICADOS 2012-1

4.8000

P = 0 1 0 0 0 1 1 0 0

Aqu la matriz P es una matriz de permutacin tal que P A = L U . , o

4.11.

Descomposicin en valores singulares. o

La orden svd es usado para la descomposicin de una matriz en sus valores singulares. Para una o matriz dada, A = U V donde la es una matriz diagonal que consiste en valores no negativos. Por ejemplo, denimos una matriz D como: >> D=[1 3 7;2 9 5;2 8 5]; La descomposicin de la matriz en sus valores singulares es: o >> [U,Sigma,V]=svd(D) con los siguientes resultados: U = -0.4295 -0.6629 -0.6133 0.8998 -0.3723 -0.2276 -0.0775 -0.6495 0.7564

Sigma = 15.6492 0 0 0 4.1333 0 0 0 0.1391

V = -0.1905 -0.7771 -0.5999 -0.0726 -0.5982 0.7980 0.9790 -0.1956 -0.0576

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

10

4.12.

Descomposicin QR. o

Una matriz tambin puede ser descompuesta en un producto de una matriz ortonormal y de e una matriz triangular superior. En otras palabras, A = QR donde las columnas de la matriz Q son ortonormales, y la matriz R es triangular superior. El algoritmo QR tiene amplios usos en el anlisis de matrices y est asociado a sistemas lineales. a a Por ejemplo: 0,4898 0,7094 0,6797 A = 0,4456 0,7547 0,6551 0,6463 0,2760 0,1626 El uso del operador qr como >> [Q,R]=qr(A) da como resultado: Q = -0.5293 -0.4816 -0.6985 -0.4080 -0.5774 0.7072 -0.7439 0.6593 0.1092

R = -0.9253 0 0 -0.9317 -0.5299 0 -0.7888 -0.5405 -0.0560

4.13.

Solucin de ecuaciones lineales. o

La solucin de un sistema de ecuaciones lineales es con frecuencia necesaria en el mtodo o e del elemento nito. La forma t pica de un sistema de ecuaciones algebraicas lineales es escrita como: Ax = y y la solucin es obtenida por: o >> x=inv(A)*y o podemos usar tambin: e
MTODOS NUMRICOS APLICADOS 2012-1

EAP IH - UNC

11

>> x=A\y Por ejemplo: >> A=[1 3 4;5 7 8;2 3 5]; y >> y=[10 9 8]; Comparemos los dos procedimientos: >> [inv(A)*y A\y] ans = -4.2500 1.7500 2.2500 -4.2500 1.7500 2.2500

5.

Funciones de anlisis de datos. a

Hasta ahora, hemos discutido las funciones relacionadas con la matriz y los operadores de MATLAB. MATLAB tiene tambin funciones de anlisis de datos para un vector o una columna e a de una matriz. En la Tabla 3, se enumeran algunos operadores para la manipulacin de datos. o

TABLA 3. Funciones de anlisis de datos. a S mbolo min(max) sum std sort mean Explicaciones minimun(maximun) de un vector suma de los elementos de un vector desviacin estndart de una coleccion de datos o a ordenacin de los elementos de un vector o clculo de la media de un vector a utilizado para la operacin componente a componente de un vector o

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

12

5.1.

Minimum(maximum).

El min(max) encuentra el valor m nimo(mximo) de un vector determinado. Por ejemplo, a >> v=[11 23 73 25 49 92 28 23]; >> min(v) produce ans = 11 >> max(v) ans = 92

5.2.

sum

El comando sum produce la suma de los elementos de un vector. Por ejemplo, >> sum(v) produce ans = 324

5.3.

Desviacin estndar. o a

El comando std calcula la desviacin estndar de un vector. Por ejemplo, o a >> std([1 4 10 -5 6 9 -20]) ans = 10.4517

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

13

5.4.

Ordenar un vector.

El comando sort es usado para ordenar un vector en orden ascendente. >> sort([1 4 10 -5 6 9 -20]) ans = -20 -5 1 4 6 9 10

Valor medio de un vector. El comando mean calcula la media de un vector. >> mean([1 4 10 -5 6 9 -20]) ans = 0.7143

5.5.

Operacin vectorial componente a componente. o

Sean denidos dos vectores: >> v1=[1,5,6,7]; v2=[0,2,3,5]; algunas veces queremos multiplicar las componentes de v1 con las correspondientes componentes de v2. La operacin es o >> v3=v1.*v2 v3 = 0 10 18 35

En otras palabras, () .() representa la multiplicacin componente a componente de dos vectores. o Otro operador usado es >> v4=v2./v1 con v4 = 0 0.4000 0.5000 0.7143

Tener en cuenta que las herramientas de anlisis de datos explicadas para vectores son aplicables a tambin a las matrices. Cada columna de la matriz se considera como un vector para el anlisis e a de datos.
EAP IH - UNC MTODOS NUMRICOS APLICADOS 2012-1

14

Indice
1. Introduccin al MatLab. o 2. Operaciones vectoriales y matriciales. 2.1. Adicin de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.2. Sustraccin de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.3. Multiplicacin de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 3. Funciones de matrices 4. Matriz inversa 4.1. Determinante de una matriz . . . . . . 4.2. Rango de una matriz . . . . . . . . . . 4.3. Matriz identidad. . . . . . . . . . . . . 4.4. Matriz de nmeros aleatorios. . . . . . u 4.5. trace . . . . . . . . . . . . . . . . . . . 4.6. Matriz nula. . . . . . . . . . . . . . . . 4.7. Nmero de condicin. . . . . . . . . . u o 4.8. Matriz exponencial. . . . . . . . . . . . 4.9. Valores propios. . . . . . . . . . . . . . 4.10. Descomposicin LU. . . . . . . . . . . o 4.11. Descomposicin en valores singulares. o 4.12. Descomposicin QR. . . . . . . . . . . o 4.13. Solucin de ecuaciones lineales. . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 3 4 4 4 5 5 5 6 6 6 7 7 8 9 10 11 11 12 13 13 13 14 14

5. Funciones de anlisis de datos. a 5.1. Minimum(maximum). . . . . . . . . . . . . . . 5.2. sum . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Desviacin estndar. . . . . . . . . . . . . . . . o a 5.4. Ordenar un vector. . . . . . . . . . . . . . . . . 5.5. Operacin vectorial componente a componente. o

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

15

Anda mungkin juga menyukai