+ All Categories
Home > Documents > INTRODUCCIÓN AL MATLAB

INTRODUCCIÓN AL MATLAB

Date post: 03-Jul-2015
Category:
Upload: elver-alexis-amesquita-gonzalez
View: 154 times
Download: 3 times
Share this document with a friend
21
INTRODUCCIÓN AL MATLAB, APLICACIONES NUMÉRICAS Prof. Ernesto Rodríguez Escalona [email protected] Edificio B, oficina 6
Transcript

INTRODUCCIN AL MATLAB, APLICACIONES NUMRICAS

Prof. Ernesto Rodrguez Escalona [email protected] Edificio B, oficina 6

MATLAB : Laboratorio de matrices (MATrix LABoratory). 1. Programa de clculo tcnico y cientfico. 2. Herramienta de alto nivel para desarrollar aplicaciones tcnicas. 3. Disposicin de cdigo bsico y libreras especializadas (toolboxes). 4. Se utiliza como una aplicacin de windows. 5. Entorno de trabajo grfico avanzado. 6. Disponibilidad de ayudas (>>help). 7. Desarrollado en base a lenguaje C y fortran.

Para iniciar el trabajo en MATLAB: Doble click sobre icono de MATLAB. (Buscar directorio : \\Hefestos\Pblico\LabComp\Materias\AnalisisNumerico.) La ventana inicial corresponde al Desktop Layout/default: Command Window: Ejecuta los comandos de MATLAB a continuacin del prompt (>>) indicando que el programa esta preparado para recibir instrucciones. Launch Pad, Workspace, Current Directory (alternativas). Permite el acceso a mdulos de MATLAB que estn instalados. Command History Muestra los ltimos comandos ejecutados.

Barra de comandos : File, Edit, View, Web, Window, Help

File: New : M-file Set Path (camino de bsqueda)

Help: Full product family help MATLAB Help Using Desktop Using Command Wondow Demos

>>z=3 Para ver el contenido de una variable determinada, basta escribir su nombre. Por el contrario,si no se desea que MATLAB muestre el resultado de un clculo, basta con aadir al final de la expresin un punto y coma. >> z=3 z= 3 >>z; >> MATLAB es sensible a maysculas y minsculas, por lo tanto una variable con maysculas es distinta a la misma variable con minsculas. MATLAB tambin permite representar tipos de datos escalares, como nmeros enteros, nmeros reales(en formato de coma flotante de doble precisin), variables booleanas y nmeros complejos. MATLAB es un entorno pensado para trabajar con vectores y matrices. Por ello, tanto el propio programa como la sintaxis de los comandos que se introducen estn optimizados para este tipo de objetos.

Vectores Los vectores se introducen especificando entre corchetes sus elementos, separados por comas o por espacios en blancos. >> v = [v1 v2 v3 v4 ... vn] crea una variable v que hace referencia a un vector fila. Un vector columna c se introduce del mismo modo, salvo que sus elementos se separan por puntos y comas. >> c = [v1; v2; v3; v4; ... ;vn] Matrices En MATLAB se definen las matrices introduciendo entre corchetes todos sus vectores fila separados por punto y coma. Ejemplo: Dada una matriz M de orden 3x3

a 11 a 12 a 13 M ! a 21 a 22 a 23 a 31 a 32 a 33 En MATLAB se escribe como se muestra a continuacin: >> M = [a11 a12 a13; a21 a22 a23; a31 a32 a33]

Operador : Mediante el uso del operador : se puede simplificar la escritura de ciertas operaciones con vectores y matrices. Este operador sirve para especificar vectores fila cuyos elementos estn uniformemente espaciados. La expresin a : t : b corresponde al vector fila formado por los valores a, a + t, a + 2 t . . . , que no sobrepasan el valor de b. Ejemplo >> x=2:0.2:3 % Expresa el vector fila x=(2, 2.2, 2.4, 2.6, 2.8, 3). x= 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000 Si no se especifica el incremento, t, MATLAB asume por defecto que ste vale 1. >> x=a:b; % Equivale a a : 1 : b.

Una vez que una variable matricial ha sido definida, MATLAB habilita muchos caminos para insertar, extraer, renumerar y manipular en general sus elementos.

Funciones predefinidas En MATLAB todas las funciones elementales (como exponenciales, logartmicas o trigonomtricas) funcionan de manera similar a los operadores *, . /, + , -, es decir, interpretando los vectores o matrices como tablas de nmeros. Un conjunto importante de funciones MATLAB es el de las funciones que obtienen un nmero a partir de un vector (tpicamente, un vector columna). Al igual que en clculo elemental, una funcin tiene la forma: nombre(argumento), donde nombre identifica la funcin a utilizar y argumento el punto donde queremos evaluarla. Existen numerosas funciones intrnsecas ya definidas en MATLAB, y es precisamente aqu donde radica la gran potencia de este programa. En su nombre slo intervienen letras minsculas.

sqrt(x)

Calcula la raz cuadrada de x. El argumento puede ser real o complejo. abs(x) Calcula el mdulo del nmero x, sea real o complejo. real(z),imag(z) Calcula la prte real e imaginaria del nmero complejo z. exp(x) Calcula el exponencial de x, siendo x un nmero real o complejo. max(a) Calcula el mximo valor de las componentes de un vector min(a) Calcula el mnimo valor de las componentes de un vector sum(a) Suma las componentes de un vector sqrt(a) Calcula la raz cuadrada de las componentes de un vector dot(a, b) Calcula el producto escalar de los vectores a y b. cross(a, b) Calcula el producto vectorial de los vectores a y b.

Operadores Aritmticos: Existen en MATLAB dos tipos de operaciones aritmticas: las operaciones aritmticas matriciales, que se rigen por la regla del lgebra lineal, y las operaciones aritmticas con vectores, que se realizan elemento a elemento. .* *Suma o resta de escalares, vectores o matrices. Producto de escalares, producto de vectores (donde el orden de los vectores es (1,n)*(n,1)). Producto de matrices ((m,n)*(n,p)), producto trmino a trmino de vectores donde el orden del los vectores es (n,n)*(n,n), producto trmino a trmino de matrices, donde el orden de las matrices es (m,n)*(m,n). A\B = inv(A) * B, siendo A y B matrices. A \B = [B(i, j)/A(i, j)], siendo A y B vectores [dim(A) = dim(B)] Cociente escalar B/A=B*inv(A), siendo A y B matrices A /B = [A(i, j)/B(i, j)], siendo A y B vectores [dim(A)=dim(B)] Potencia de escalares o potencia escalar de matriz (Mp) Potencia de vectores (A ^ B = [A(i, j)B(i,j)], A y B vectores)

\ \ / / ^ ^

En el caso de vectores y matrices, las operaciones bsicas presentan algunas limitaciones. Naturalmente, las expresiones A+B y A-B tienen sentido si A y B son matrices (o vectores) del mismo tamao. En el caso de A*B, el nmero de columnas de A debe coincidir con el de filas de B. El cociente A/B equivale (si B es una matriz cuadrada no singular) a la expresin A*inv(B), es decir, AB 1. MATLAB permite escribir el cociente al revs con B\A, que es equivalente a inv(B)*A. Dada la no conmutatividad del producto de matrices, los dos cocientes tienen distinto significado, tal como se comprueba en el siguiente ejemplo. Ejemplo: >> M=[2 3;-1 1]; A=[1 1;-1 2]; >> A/M ans = 0.4000 0.2000 0.2000 1.4000 >> A\M ans = 1.6667 1.6667 0.3333 1.3333

Recuperacin de comandos MATLABPara volver a ejecutar comandos ya introducidos en la sesin actual, se pueden utilizar las siguientes teclas: Flecha hacia arriba : Presenta la lnea previa. Flecha hacia abajo : Presenta la lnea siguiente.

Ejercicio:Dados X=A+B Z=A*B C=2/A G=A/B I=A.^2 V=A.^B A=[1 2 3] y B=[4 5 6] Calcular: Y=A-B W=2*A F=2\ B H=B.^A J=2.^A

o

Ejemplo >> prod(1 : 5) ans= 120 Ejemplo >> exp(1 : 7) ans= % (e, e 2 , e 3 , e 4 , e 5 , e 6 , e 7 )

1.0e+003 * 0.0027 0.0074

0.0201

0.0546

0.1484

0.4034

1.0966

Ejemplo: Supongamos que en un ensayo necesitamos trabajar con probetas de estructura cilndrica; elegimos una de dimetro 139.7 mm, espesor de las paredes laterales 6.3 mm y altura 20 cm. Se necesita calcular el dimetro interior en milmetros (mm) y para conocer en los ensayos el flujo que lo atraviesa, debe calcularse el rea de la seccin interior. Posteriormente para conocer la transferencia de calor a travs de las paredes laterales de la probeta, se requiere calcular el rea de la superficie externa en mm 2 . Escribir las variables definidas para resolver los apartados anteriores. Solucin: >> clear >> d = 139.7; espesor = 6.3; >> di = d 2 espesor % Clculo del dimetro interior di= 127.1000 >> radi = di/2 % Por tanto el radio interior es: radi = 63.5500 >> areai = pi radi^2 % El rea interior: areai = 1. 2688e +004

>>altura = 20 10; % Para conocer el rea de la superficie lateral pasamos la altura a milmetros: >>Arealat = 2 pi d/2 altura Arealat = 8. 7776e+004 >> who % Nos interesamos por las variables definidas Your variables are: Arealat areai di radi altura d espesor valid

Ejemplo Dados los vectores definidos por: x = (1,4.5,7.8), y=(sen(90), cos(45), 0) Realizar los clculos siguientes: x + y. Solucin: >> clear >> x = [1 4.5 7.8]; >> arg = [90 45 ]; >>y = pi * arg /180; >>y=[sin(y(1) cos(y(2) 0] y= 1.0000 0.7071 0 >> suma = x + y suma = 2.0000 5.2071 7.8000 % Introduce el vector x % Introduce los argumentos de las func. trigonomtricas % Conversin de los ngulos a radianes % Introduce el vector y y muestra la forma del vector

El producto escalar de x e y. Solucin: Para resolver este producto se muestran diferentes formas: Considerar el producto matricial entre x e y >>prod_esc = x * y prod_esc = 4.1820 Considerar el producto de vectores componente a componente y sumar las componentes del vector resultante: >>prod = x. * y prod = 1. 0000 3.1820 0 >> prod_esc = sum(prod) prod_esc = 4.1820 Utilizar directamente la funcin dot: >>prod_esc = dot(x,y) prod_esc = 4.1820

Calcular el ngulo que forman ambos vectores. Solucin: >>mod_x = sqrt(x * x);% Mdulo de x >> mod_y = sqrt(y * y);% Mdulo de y >> angulo = acos(prod_esc(mod_x * mod_y)) angulo = 1.1844 El ngulo calculado est en radianes para transformarlo en grados, escribimos: Solucin: >> angulo = 180 * angulo/pi angulo = 67.8601

Como almacenar datos en archivos MATLABPodemos utilizar archivos en los siguientes casos: Guardar el valor de todas o algunas de las variables definidas en la sesin actual. Agrupar un conjunto de sentencias MATLAB que puedan posteriormente en cualquier momento de una sesin de trabajo. ejecutarse

Recordar todas las sentencias ejecutadas durante toda o parte de una sesin y el resultado de su ejecucin. Definir funciones nuevas. Al igual que los archivos del MS-DOS, el nombre del archivo puede tener a lo sumo 8 caracteres y la extensin 3. Como regla general, es conveniente no utilizar como nombre de archivo el nombre de una variable o de una funcin existente.

Tambin es posible escribir sobre un archivo, cuyo nombre sea de la forma nombre_archivo.m, una serie de comandos MATLAB y ejecutarlos posteriormente, en cualquier momento de una sesin de trabajo, con slo teclear nombre_archivo. De hecho, es ms cmodo usar archivos de comandos, o archivos "script", que teclear comandos lnea por lnea en una pantalla MATLAB, pues cualquier equivocacin nos obligara a reescribirlos. Los archivos de comandos nombre_archivo.m son archivos ASCII (archivos de texto) que contienen una serie de comandos MATLAB escritos justo en el orden en que los ejecutaramos sobre una ventana MATLAB. La extensin obligatoria para estos archivos es m. Es conveniente que la primera o las primeras lneas de estos archivos sean de comentario; esto nos permite teclear, cuando lo necesitemos: >> help nombre_archivo y obtener el texto de las lneas de comentario escritas al principio del archivo nombre_archivo.m.

Puesto que MATLAB trata los archivos.m como si fueran secuencias de comandos, todas las variables definidas en la sesin actual pueden ser utilizadas en los comandos del archivo y, similarmente, las variables definidas con el archivo.m podrn ser utilizadas posteriormente en la sesin actual de MATLAB. En los archivos .m es conveniente finalizar las sentencias de clculos secundarios con ";", recibiendo informacin solamente de la evaluacin de las expresiones ms significativas.

Ejemplos de archivos *.m function y=fun_es y=0.5*exp(x/3)-x.^2.*sin(x); function [y1,y2]=r_cuad(a,b,c) y1=(-b+(b.^2-4*a.*c)^(1/2))./(2*a) y2=(-b-(b.^2-4*a.*c)^(1/2))./(2*a)


Recommended