You are on page 1of 53

Curso de Matlab

MATLAB HERRAMIENTA PARA EL APRENDIZAJE


En la actualidad, podemos encontrar diferentes softwares aplicados a las Matemticas, a saber: MATLAB, Maple, Scientific, MatCad, Mathematica, etc. La pregunta que nos haramos sera: Por qu utilizar MATLAB en nuestras labores docentes? Las razones seran las siguientes: MatLab es una herramienta de apoyo no solo a las matemticas sino tambin a las otras ciencias, tales como: Fsica, Qumica, Economa, Construcciones Civiles, Visin Artificial, Sistemas de control industrial, Telecomunicaciones, Mecnica, Robtica, etc. Entre las ventajas que para nosotros supone la utilizacin de las nuevas tecnologas, cabe destacar el hecho de poder mostrar a los estudiantes que las Matemticas no son slo un conjunto de definiciones, teoremas y demostraciones, muchas veces de difcil comprensin, sino que estn en concordancia con los ltimos e innovadores avances informticos. Nos proponemos de este modo hacerles ver cmo los resultados de dichos avances pueden, y deben, ser utilizados da a da en el aula, ya que facilitan enormemente los clculos y permiten, adems, visualizar muchos de los problemas que les son planteados: contemplar la grfica de una funcin de una o dos variables, interpretar geomtricamente algunos conceptos o soluciones de problemas e, incluso, comprender que el clculo de la inversa de una matriz de orden veinte no tiene porqu resultar tan tedioso como puede parecer. Por tanto, el objetivo de utilizar MATLAB ser el acercar a los estudiantes a cada una de las asignaturas que impartimos y de mejorar, en todo lo posible, la calidad de nuestra docencia. As, empezaremos a utilizar el programa Matlab en el aula, por las posibilidades grficas y de clculo simblico que ste ofrece. Inicialmente les presentaremos de forma breve el programa, sus caractersticas y su entorno de trabajo para que les sea posible ejecutar los programas que posteriormente les facilitaremos. Conforme avanzamos en el desarrollo del programa de la asignatura les ensearemos algunas sentencias bsicas con las que puedan por s mismos resolver ejercicios relacionados con la materia y, durante las clases, adems de resolver dichos problemas en la pizarra, les mostraremos cmo las soluciones pueden ser obtenidas usando Matlab. Matlab es un programa interactivo para clculo numrico y tratamiento de datos. Contiene muchas herramientas y utilidades que permiten adems diversas funcionalidades, como la representacin grfica en 2 y 3 dimensiones. Esos tiles estn agrupados en "paquetes" (toolboxes). A Matlab se le pueden aadir paquetes especializados para algunas tareas (por ejemplo, para tratamiento de imgenes). Trabajar con Matlab comporta aprender un lenguaje simple. En esta introduccin se explican los elementos bsicos de este lenguaje. A travs de las computadoras accedemos a grandes masas de informacin en tiempos reducidos, siendo imperiosa la capacitacin o actualizacin urgente de todo profesional (sobre todo aquellos inmersos en el campo educativo) permitiendo estar acorde con el avance cientfico actual. Matlab se ha convertido en una herramienta bsica para profesionales e investigadores de centros de docentes, por sus grandes prestaciones en diferentes reas de las ciencias, ingeniera y finanzas (sistemas e ingeniera de control, anlisis matemtico, lgebra, procesamiento digital de imgenes, seales, etc.)

Ing. Gerardo Collaguazo DOCENTE

Ing. Gerardo Collaguazo

Curso de Matlab

TEMATICA
1. Comandos bsicos 2. Funciones matemticas elementales 3. Programacin con Matlab. Archivos *.m 4. Operaciones con nmeros reales y complejos. Sistemas de numeracin. 5. Vectores y matrices. Operaciones 6. Graficas 2D y 3D 6.1 Grficos estadsticos 6.2 Graficas 2D y 3D en coordenadas cartesianas, polares. 6.3 Grficas 2D y 3D de funciones implcitas, paramtricas. 6.4 Grficas especiales. 7. Matemtica simblica 7.1 Operaciones con polinomios y fracciones 7.2 Clculo de lmites 7.3 Clculo de derivadas absolutas y parciales 7.4 Clculo de integrales simples y mltiples 8. Aplicaciones en la Ingeniera 8.1 Aplicaciones a la Fsica 8.2 Aplicaciones en Seales y Sistemas 8.2.1 Funcin de transferencia 8.2.2 Transformada Laplace y Fourier 8.2.3 Transformada Z 8.2.4 Procesamiento digital de seales 8.3 Aplicaciones en Sistemas de Control 8.4 Aplicaciones en la ingeniera mecnica 8.5 Anlisis numrico ANEXOS A RESUMEN DE COMANDOS BIBLIOGRAFIA

Ing. Gerardo Collaguazo

Curso de Matlab

1.

COMANDOS BASICOS

Matlab es un programa command-driven, es decir, que se introducen las rdenes escribindolas una a una a continuacin del smbolo (prompt) que aparece en una interfaz de usuario (una ventana). En esta parte utilizaremos a Matlab como una calculadora. La flecha permite recuperar un comando anterior definido, desplaza una posicin a la derecha, desplaza una posicin a la izquierda. Veamos los siguientes comandos iniciales: clc limpia la ventana de comandos permite continuar los comandos en la siguiente lnea ; al final de la lnea de comandos, inhibe la visualizacin de los resultados parciales help permite acceder a la ayuda general de Matlab help nombre permite acceder a la ayuda de una funcin especfica. Ej help cos clear all borra todas las variables anteriormente utilizadas Los operadores de las operaciones bsicas son los siguientes: ^ exponenciacin * multiplicacin / + Ejemplos: divisin suma resta

Otros formatos se observan en la siguiente tabla.

Ing. Gerardo Collaguazo

Curso de Matlab

format long format short format long e format short e format long g format short h format bank format rat format + format hex vpa operacin n digits(n)

Resultado con 14 decimales Resultado con 4 decimales (formato por defecto) Resultado con 14 decimales con potencia de 10 Resultado con 4 decimales con potencia de 10 Formato largo optimo Formato corto optimo Resultado con 2 decimales Resultado en forma racional Signo del resultado. Ignora la parte imaginaria del numero complejo Formato hexadecimal Operacin con n dgitos exactos Resultado con n dgitos exactos

Estos mismos formatos se pueden obtener de Matlab escribiendo: help format Es de observar que el ltimo formato quedar como definido para futuras operaciones. Cuando se define una variable, Matlab hace diferencia de maysculas y minsculas y no deben contener signos de puntuacin ni operadores. Matlab tiene definidos las siguientes constantes.
pi exp(1) i=j inf NaN realmin realmax 3.1415 e=2.71828

1
Infinito (1/0) Indeterminacin (0/0) Menor nmero real utilizado por matlab Mayor nmero real utilizado por matlab

2. FUNCIONES MATEMATICAS ELEMENTALES Matlab admite una serie de funciones elementales para sus operaciones, las mismas que admiten argumentos escales, vectoriales, matriciales y complejos. Estas funciones se clasifican en (ver escribiendo: help elfun) : trigonomtricas (directas e inversas), exponenciales y logartmicas, complejas y de funcin especial (redondeo y residuo). En la siguiente tabla se presentan algunas de las funciones bsicas:
sin cos tan sec csc cot exp seno coseno tangente secante cosecante cotangente exponencial

log logaritmo natural


Ing. Gerardo Collaguazo

Curso de Matlab sqrt abs

raz cuadrada valor absoluto

Ejemplos:

3. PROGRAMACION CON MATLAB. ARCHIVOS *.m Matlab puede utilizarse como lenguaje de programacin de alto nivel que incluye estructura de datos, funciones, instrucciones de control de flujo, manejo de entrada/salida de datos e incluso programacin orientada a objetos. Los programas de Matlab suelen escribirse en ficheros denominados M-files. Un fichero *.m no es ms que un cdigo Matlab (scripts) que simplemente ejecuta una serie de comandos o funciones que aceptan argumentos y producen una salida. Los ficheros M se crean utilizando el editor de texto. LECTURA Y ESCRITURA input permite el ingreso de datos desde el teclado asignndolo a una variable, este comando se puede emplear con un mensaje en la lnea de comandos fprintf permite la visualizacin de un valor numrico o el resultado de una expresin guardada por el usuario. Ejemplo: >> vol=49
Ing. Gerardo Collaguazo

Curso de Matlab

>> fprintf (el volumen es:%12.0f\n,vol) Donde: \n indica que la impresin de la variable vol ser en la siguiente lnea %12.0f formato de un nmero entero (%12.5f nmero con 5 decimales) disp(mensaje) visualiza el mensaje en la ventana de comandos.

SCRIPTS Los scripts son el tipo de archivos *.m ms sencillos posibles. Un script no tiene argumentos de entrada ni de salida. Sencillamente est formado por instrucciones Matlab que se ejecutan secuencialmente y que podran submitirse igualmente en serie en la ventana de comandos. Los scripts operan con datos existentes en el espacio de trabajo o con nuevos datos creados por el propio script. Cualquier variable que se cree mediante un script permanecer en el espacio de trabajo y podr utilizarse en clculos posteriores despus de finalizar el script. Una vez escrita la sintaxis del script en el editor se guarda en la librera de trabajo (work) y simultneamente se ejecuta, haciendo clic en el botn o utilizando la opcin save and run del men Debug o presionando F5 o simplemente escribiendo el nombre (sin extensin) en la ventana de comandos y pulsar Enter. Se pueden introducir textos explicativos y comentarios, empezando cada lnea con el smbolo %. Con el comando HELP se accede al texto explicativo de un M-file.

FUNCIONES Y M-FICHEROS. FUNCTION, EVAL Y FEVAL El comando function permite la definicin de funciones a medida en Matlab, constituyendo una de las aplicaciones ms tiles de los ficheros M. La sintaxis de este comando es la siguiente:

function parmetros_salida=nombre_funcin (parmetros entrada) Cuerpo de la funcin Una vez que la funcin ha sido definida se guarda en un M-fichero de nombre nombre_funcin.m, para su posterior uso. Es til tambin introducir un texto explicativo en la sintaxis de la funcin (entre %), al cual se acceder con el comando HELP. Se recomienda guardar las funciones como ficheros de nombre igual al nombre de la funcin en el directorio Work. Una vez definida y guardada la funcin anterior, se puede utilizar desde la ventana de comandos. La evaluacin de una funcin en sus argumentos (o parmetros de entrada) tambin puede utilizarse a travs del comando fecal, cuya sintaxis es la siguiente:

feval(F, arg1, arg2,,argn) - Evala la funcin F en los argumentos dados. Ejemplo. Ver ecuacion2.m La evaluar la ecuacin de 2do grado escribimos: [x1,x2]=feval(ecuacion2,1,2,3) o [x1,x2]=ecuacion2(1,2,3)

Ing. Gerardo Collaguazo

Curso de Matlab

Control de flujo: bucles for, while e if elseif, switch case, try catch, return, subfunciones El uso de funciones recursivas, condicionales y definidas a trozos es muy habitual en matemticas. Para la definicin de este tipo de funciones es necesario el manejo de bucles. Como es natural, la definicin de las funciones se har a travs de m-files.

El bucle FOR Esta sentencia permite ejecutar de forma repetitiva un comando o grupo de comandos varas veces. Por ejemplo: >> for i=1:3, x(i)=0, end La forma general de un bucle FOR es la siguiente: for variable = expresin Comandos end

El bucle While Esta sentencia permite ejecutar de forma repetitiva un comando o grupo de comandos un nmero determinado de veces mientras se cumple una condicin lgica especificada, La sintaxis general es: while condicion Comandos end

El bucle IF ELSEIF ELSE END Mediante esta estructura se pueden ejecutar secuencias de comandos si se cumplen determinadas condiciones. La sintaxis es: if condicin Comandos End

Ing. Gerardo Collaguazo

Curso de Matlab

En este caso se ejecutan los comandos si la condicin es cierta. Pero la sintaxis de este bucle puede ser ms general. if condicin Comandos1 Else Comandos2 end

En este caso se ejecutan los comandos1 si la condicin es cierta, y se ejecutan los comandos2 si la condicin es falsa. Las sentencias if, al igual que las sentencias FOR, pueden ser anidadas. Cuando se anidan varias sentencias IF se utiliza la sentencia ELSEIF, cuya sintaxis general es: if condicion1 Comandos1 elseif condicion2 Comandos2 elseif condicion3 Comandos3 . else end En este caso se ejecutan los comandos1 si condicion1 es cierta, se ejecutan los comandos2 si condicion1 es falsa y condicion2 es cierta, se ejecutan los comandos3 si condicion1 y condicion2 son falsas y condicion3 es cierta, y as sucesivamente. La sintaxis anidada anterior es equivalente, pero ms rpida de ejecucin, a la sintaxis sin anidar siguiente: if condicion1 comandos1 else if condicion2 comandos2 else if condicon3
Ing. Gerardo Collaguazo

Curso de Matlab

comandos3 else end end end

SWITCH y CASE La instruccin switch ejecuta ciertas sentencias basdas en el valor de una variable o expresin. Su sintaxis es: switch expresin (escalar o cadena) case valor1 Sentencias case valor2 Sentencias .. otherwise Sentencias end Ejemplo de programacin: %ejecuta si expresin no cumple ningn caso %ejecuta si expresin es valor2 %Ejecuta si expresin es valor1

En la programacin con Matlab se hace uso de operadores, como: relacionales y lgicos para realizar comparaciones tomar alguna decisin en el flujo del programa.
Ing. Gerardo Collaguazo

Curso de Matlab

Operadores relacionales < <= > >= x==y X ~= y Menor (para complejos solo afecta la parte real) Menor o igual (para complejos solo afecta la parte real) Mayor (para complejos solo afecta la parte real) Mayor o igual (para complejos solo afecta la parte real) Igualdad (para complejos solo afecta la parte real) Desigualdad (para complejos solo afecta la parte real)

Operadores lgicos ~A A&B A|B Xor(A,B) Negacin lgica (NOT) o complemento de A Conjuncin lgica (AND) o interseccin de A y B Disyuncin lgica (OR) o unin de A y B Or exclusivo (XOR) o diferencia simtrica de A y B

Ejemplos:

Devuelve 1 si A>3 y A<6, devuelve 0 en caso contrario

4. OPERACIONES CON NUMEROS REALES Y COMPLEJOS. SISTEMAS DE NUMERACION Matlab permite el clculo de divisibilidad de nmeros mediante el empleo de los siguientes comandos: rem(n,m) sign(n) max(n1,n2) min(n1,n2) gcd(n1,n2) lcm(n1,n2) factorial(n) factor(n) Entrega el residuo de la divisin n/m Da el signo de n (1 so n>0, -1 si n<0) Mximo entre dos nmeros Mnimo entre dos nmeros m.c.d. entre dos nmeros m.c.m. entre dos nmeros Calcula el factorial Descompone en factores primos el nmero n

Veamos algunos ejemplos con cada instruccin:

Ing. Gerardo Collaguazo

Curso de Matlab

Para nmeros complejos tenemos las siguientes instrucciones: abs(z) angle(z) conj(z) real(z) imag(z) complex(a,b) Calcula el valor absoluto del complejo z Calcula el argumento del complejo z Calcula el conjugado del complejo z Calcula la parte real del complejo z Calcula la parte imaginaria del complejo z Devuelve el nmero complejo z a bj

En el siguiente ejemplo podemos ver la representacin de un nmero complejo en polar y rectangular y la operacin de suma.

Adems, vemos que para poder visualizar el resultado con disp se realiza la conversin de un nmero a cadena, lo cual podemos hacerlo con los siguiente comandos. str2num(cadena) num2str(num) upper(cadena) lower(cadena)
Ing. Gerardo Collaguazo

Convierte la cadena en nmero Convierte el nmero en cadena Convierte la cadena en maysculas Convierte la cadena en minsculas

Curso de Matlab

Tambin Matlab nos permite expresar un nmero en los diferentes sistemas de numeracin: decimal, binario, octal, hexadecimal etc. Para ello emplearemos los siguientes comandos: dec2base(decimal,n-base) base2dec(nmero,B) dec2bin(decimal) dec2hex(decimal) bin2dec(binario) hex2dec(hexadecimal) Convierte el nmero decimal en base n Convierte el nmero dado en base B a decimal Convierte el nmero decimal a binario Convierte del nmero decimal a hexadecimal Convierte el nmero binario a decimal Convierte el nmero haxadecimal a decimal

Ejemplos:

5. VECTORES Y MATRICES. OPERACIONES 5.1 VECTORES Para definir un vector fila, basta introducir sus coordenadas, separadas con espacio o coma, entre corchetes: Ejemplo: >> v = [1 2 3] v= 1 2 3 % Vector de 3 coordenadas

Existen otras formas de definir un vector, conforme se seala en la siguiente tabla: v=[a:b] v=[a:p:b] v=linspace(a,b,n) v=logspace(a,b,n) Define un vector fila de extremos a y b y con elementos intermedios separados una unidad Define un vector fila de extremos a y b con elementos intermedios separados p unidades Define un vector fila de extremos a y b con n elementos intermedios Define un vector fila de extremos a y b con n elementos intermedios con escala logartmica

Ing. Gerardo Collaguazo

Curso de Matlab

Ejemplos:

Con los vectores se pueden hacer las operaciones indicadas en la tabla. x(n) x(a:b) x(a:p:b) x(b:-p:a) sort(x) sum(x) norm(v,2) cross(u,v) dot(u,v) length(v) Ejemplos: Extrae el n-simo elemento del vector x Obtiene los elementos del vector x entre a y b separados una unidad Obtiene los elementos del vector x entre a y b separados p unidades Idem Ordena los elementos de un vector e forma ascendente Calcula la suma de todos los elementos del vector x Calcula la norma de un vector v Calcula el producto vectorial de 2 vectores Calcula el producto escalar Calcula la dimensin del vector v

Las funciones elementales definidas en Matlab admiten tambin argumentos vectoriales.

Las operaciones con vectores emplean los siguientes operadores:


Ing. Gerardo Collaguazo

Curso de Matlab

V Vector transpuesto .^ .* ./ + exponenciacin multiplicacin divisin suma resta

El punto (.) indica que se opera elemento a elemento de los vectores. 5.2 MATRICES Una matriz se escribe como vectores, pero las filas se separan con (;). Ejemplo: matriz M de 3x3

Las operaciones con matrices y vectores se realizan utilizando los siguientes operadores + * \ .\ / ./ ^ .^ A Suma de matrices Resta de matrices Multiplicacin de escalares o matrices Divisin A\B=inv(A)*B, A y B matrices cuadradas A.\B=[B(i,j)/A(i,j)], siendo A y B vectores [dim(A)=dim(B)] Cociente escalar o 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)] Potencias de escalares o matrices MP Potencia de vectores o A.^ B Transpuesta de A

A(i, j ) B (i , j ) , A y B vectores

Ejemplos:

Ing. Gerardo Collaguazo

Curso de Matlab

Matlab tiene definidas algunas matrices especiales, como vemos en la siguiente tabla. ones(m,n) zeros(m,n) eye(m,n) eye(n) rand(n) magic(n) Crea una matriz de unos de tamao mxn Crea una matriz de ceros de tamao mxn Crea una matriz identidad mxn Crea una matriz identidad cuadrada nxn Crea una matriz cuadrada nxn con nmeros aleatorios entre 0 y 1 Crea una matriz especial cuya suma de sus elementos de las filas, columnas y diagonal da un mismo nmero

Estas matrices se emplean en la programacin y representacin grfica de funciones. Ejemplos:

Matlab tiene definidas algunas funciones para trabajar con matrices. A(m,n) inv(A) triu(A) tril(A) size(A) det(A) diag(A) diag(v) A(a,:) A(:,b) rref(A) sum(A) [V,D]=eig(A) horzcat(A,B) vertcat(A,B) repmat(A,n,m) [L,U,P]=lu(A) Obtiene el elemento de la posicin (m,n) de la matriz A Calcula la inversa de la matriz A Saca la parte triangular superior de la matriz Saca la parte triangular inferior de la matriz Calcula la dimensin de la matriz Calcula el determinante de la matriz Saca la diagonal de la matriz Crea una matriz diagonal con el vector v en la diagonal Saca todos los elementos de la fila a de la matriz Saca todos los elementos de la columna b de la matriz Calcula la forma cannica de la matriz A Devuelve un vector con la suma de los elementos de las columnas Calcula los valores y vectores propios de A Concatena horizontalmente las matrices A y B Concatena verticalmente las matrices A y B Reproduce la matriz A, n veces verticalmente y m veces horizontalmente Descompone la matriz A en dos matrices triangulares: una superior U y otra inferior L, tal que P*A=L*U

Ing. Gerardo Collaguazo

Curso de Matlab

Ejemplos:

Ing. Gerardo Collaguazo

Curso de Matlab

Mediante el uso de las matrices podemos resolver sistemas de ecuaciones lineales. Ejemplo: Resolver el siguiente sistema de ecuaciones:

Ing. Gerardo Collaguazo

Curso de Matlab

Como ejemplo, a continuacin se presenta un programa que nos permite resolver un sistema de ecuaciones lineales de nmeros reales y complejos.

Ms adelante veremos otros mtodos de resolver los sistemas de ecuaciones. 6. GRAFICAS 2D Y 3D Matlab permite realizar grficos de curvas planas y superficies, posibilitando la agrupacin y la superposicin. Tambin es posible trabajar colores, rejilla, marcos, etc., en los grficos. La representacin de funciones puede realizarse en coordenadas implcitas, explcitas y paramtricas. Tambin permite realizar grficos de barras, lneas, estrellas, histogramas, poliedros, mapas geogrficos y animaciones. La creacin de grfico suele acoplarse a los siguientes pasos: 1. 2. 3. 4. 5. 6. Preparar datos Elegir ventana y situar posicin Usar funcin de grfico Elegir caractersticas de lneas y marcadores (anchura, colores, ) Usar lmites de ejes, marcas y mallas Situar anotaciones, etiquetas y leyendas

Ing. Gerardo Collaguazo

Curso de Matlab

7. Exportar el grfico.

6.1 GRAFICAS ESTADISTICOS Grficos bsicos 2D: barras, sectores, histogramas, racimo, error y flechas bar(y) bar(x,y) bar(,anchura) bar(,estilo) Grfico de barras relativo al vector de frecuencias Y. Si Y es matriz se obtiene el grfico mltiple para cada fila de Y. Grfico de barras relativo al vector de frecuencias Y siendo x un vector que define los espacios en el eje X para situar las barras Grfico con anchura de barras dada. Por defecto, la anchura es 0.8 y la anchura 1 provoca que las barras se toquen Grafico con estilo para barras dado. Los estilos son group (estilo por defecto con barras verticales agrupadas), y stack (barras apiladas), Si la matriz Y es (m,n) el agrfico agrupado tiene m grupos de n barras verticales Las barras son todas del color especificado (r=rojo, g=verde, b=azul, c=cyan, m=magenta, y=amarillo, k=black, w=white) Grfico de barras horizontales Dibuja e histograma relativo al vector de frecuencias Y usando 10 rectngulos iguales de base igual. Si Y es una matriz, se construye un histograma para cada una de sus columnas. Dibuja es histograma relativo al vector de frecuencias Y usando tantas cajas como elementos tiene el vector x y centrando cada caja en los sucesivos valores de x Dibuja el histograma relativo al vector de frecuencias Y usando tantas cajas como indica el escalar k Devuelve los vectores n y x con las frecuencias asignadas a cada caja del histograma y los valores en que se centran las cajas Realiza el grfico de sectores relativo al vector de frecuencias X Realiza el grfico de sectores relativo al vector de frecuencias X desplazando hacia fuera los sectores en los Yi0 Realiza el grfico del vector x contra el vector y con los errores especificados en el vector e. Pasando por cada punto (xi,yi) se dibuja una lnea vertical de longitud 2ei cuyo centro est en el punto (xi,yi) Dibuja el grfico de racimo relativo al vector Y. Cada punto de Y es unido al eje x por una lnea vertical Dibuja el grfico de racimo relativo al vector Y cuyos elementos son dados a travs del vector X Dibuja el grfico escalonado relativo al vector Y Grafico escalonados del vector Y con elementos a travs del vector X Histograma angular relativo al vector Y, de ngulos en radianes utilizando 20 radios iguales Dibuja el histograma angular del vector Y usando n radios iguales Dibuja el histograma angular relativo al vector Y utilizando radios que miden los especificado en los elementos del vector x Realiza un diagrama de flechas que salen del origen y cuya magnitud y direccin vienen determinados por el mdulo y el argumento de los nmeros complejos componentes del vector Z. La flecha relativa al complejo Zi une el origen con el afijo de Zi. Equivale a compas(X+i*Y)

bar(,color) barh() hist()

hist(y,x)

hist(y,k) *n,x+=hist() pie(x) pie(x,y) errorbar(x,y,e)

stem(y) stem(x,y) stairs(y) satirs(x,y) rose(y) rose(y,n) rose (x;y) compass(z)

compass(x,y)
Ing. Gerardo Collaguazo

Curso de Matlab

compass(z,s) compass(x,y,z) feather(z) o feather(x,y) o feather(z,s) o feather(x,y,s)

o Especifica en S el tipo de lnea a usar en las flechas Es igual que compas, con la nica diferencia de que el origen de las flechas no est en origen de coordenadas, sino que salen de los puntos igualmente espaciados de una lnea horizontal

Ejemplos 1. Graficar la funcin , en en intervalos de de 0.2

Pruebe escribiendo barh(x,y) 2. Graficas las barras en modo agrupado (group) y apilado (stack). En el siguiente grfico se muestran 5 grupos de 3 barras correspondientes a la matriz aleatoria (5,3).

Ing. Gerardo Collaguazo

Curso de Matlab

3. Tambin podemos definir la anchura de las barras.

4. A continuacin graficamos el histograma de frecuencias relativos 10000 puntos aleatorios normales (0,1).

Ing. Gerardo Collaguazo

Curso de Matlab

Observacin: Ver la diferencia entre rand() y randn() en help. Si se desean ver un mayor nmero de cajas, se debe escribir hist(y, 20), donde 20 es el nmero de cajas. 5. En el siguiente ejemplo se presenta un grfico de sectores para los valores especificados en el vector x.

6. Tambin podemos desplazar cualquiera de los sectores que se deseen.

Ing. Gerardo Collaguazo

Curso de Matlab

7. La siguiente figura presenta un grfico escalonado de la funcin

para

8. Podemos tambin representar los errores de una funcin de distribucin normal (0,1) con una variable definida en [-4, 4], siendo definidos los errores por 40 valores aleatorios uniformes (0,10).

Ing. Gerardo Collaguazo

Curso de Matlab

9. As podemos graficar de la misma forma los dems funciones empleando las instrucciones de la tabla anterior. Esto se deja como tarea para el lector. 6.2 GRAFICAS 2D Grficos 2D: curvas de funciones explcitas, implcitas, paramtricas y polares. plot(x,y) plot(y) Dibuja el conjunto de puntos (x,y), donde x e y son vectores fila. X el dominio y la imagen Grafica los elementos del vector y contra sus ndices, es decir da la grfica del conjunto de puntos (t,yi) t=1,2,..,n (n=length(Y)) si Y es una matriz realiza un grfico para cada columna. Grfica de plot(x,y) con las opciones especificadas por s (color y tipo de lnea). Ver help plot Combina sobre los mismos ejes, los grficos definidos para las tripletas (xi,yi,si). Se trata de una forma simultnea de representacin de varias funciones Grafica la funcin en el intervalo dado Grafica la funcin en los intervalos dados, con la opcin s (tipo de lnea y color) Grafica las funciones dadas sobre los mismos ejes en los intervalos dados con las opciones de s Grafica f con la tolerancia t Grafica f con la tolerancia t como n+1 puntos como mnimo Grafica la funcin en el intervalo x dado Grafica la funcin en los intervalos x y dados Grafica la curva paramtrica x=x(t), y=y(t) sobre el intervalo [0,2pi] Grafica la curva paramtrica x=x(t), y=y(t) sobre el intervalo dado Grafica la curva en coordenadas implcitas en [-2pi, 2pi] Realiza grficos similares a plot(x,y) pero con escala logartmica en los dos ejes Realiza grficos similares a plot(x,y) pero con escala logartmica

plot(x,y,s) plot(x1,y1,x2,y2,

fplot(f,*xmin,xmax+) fplot(f,*xmin,xmax,ymin,ymax],s) fplot(`[f1,f2,--fn+), [xmin,xmax,ymin,ymax],s) fplot(f,*xmin,xmax+,,t) fplot(f,*xmin,xmax+,,n) ezplot(f,*xmin,xmax+) ezplot(f,*xmin,xmax,ymin,ymax+) ezplot(x,y) ezplot(f,*xmin,xmax+) ezplot(f) loglog(x,y) semilogx(x,y)
Ing. Gerardo Collaguazo

Curso de Matlab

semilogy(x,y) fill(x,y,c)

fill(x1,y1,c1,.) polar( ,r) polar( ,r,s) trapz(x,f)

en el eje x Realiza grficos similares a plot(x,y) pero con escala logartmica en el eje y Dibuja el polgono compacto cuyos vrtices son los pares de componentes (xi,yi) de los vectores columna X e Y. C es un vector de la misma dimensin de X e Y, que contiene los colores Ci de cada punto (xi,yi). Dibuja el polgono compacto cuyos vrtices vienen dados por los puntos (xi,yi,ci) Dibuja la curva en coordenadas polares Dibuja la curva en coordenadas polares con el estilo de lnea especificado por s Devuelve el rea bajo la curva

Veamos algunos con estas instrucciones de grficas. 1. Graficar ,

2.

Graficar la funcin anterior con diferente lnea y color.

Ing. Gerardo Collaguazo

Curso de Matlab

3.

Graficar

4.

Graficar

El mismo resultado se tiene con: >> fplot(sin(x)*exp( -0.4*x),[0,10])

5.

Graficar la funcin paramtrica

Ing. Gerardo Collaguazo

Curso de Matlab

Intente graficar con ezplot(f1,f2,[0,2]) 6. Graficar la funcin implcita

7.

Graficar la funcin polar

Ing. Gerardo Collaguazo

Curso de Matlab

8.

Graficar un octgono.

Podra explicar como Matlab grafica lo anterior? En base a su explicacin dibuje un cuadrado y un tringulo. Ttulos, etiquetas y colocacin. title(texto) xlabel(texto) ylabel(texto) zlabel(text) clabel(c,h) clabel(c,h,v)

datetick(eje) datetick(eje,fecha) legend(cadena1,cadena2, .) legend(h,cadena1,cadena2,) legend(off) text(x,y,text) text(x,y,z,texto) gtext(texto) Grid Hold axis([xmin xmax ymin ymax zmin zmax]) axis(auto) axis(axis) v=axis axis(xy) axis(tight) axis(ij) axis(square) axis(equal)
Ing. Gerardo Collaguazo

Aade el texto como ttulo del grfico Aade el texto como el nombre de eje x Aade el texto como el nombre de eje y Aade el texto como el nombre de eje z Rota etiquetas y las sita en el interior de las lneas de contorno Crea etiquetas para los niveles de contorno dados por el vector v y las rota y sita en el interior de las lneas de contorno (ver tema siguiente) Etiqueta las marcas del eje especificado Etiqueta las marcas del eje especificado con el formato de fecha dado Sita las leyendas especificadas por las cadenas en n grficos consecutivos Elimina las leyendas de los ejes actuales Sita el texto en punto xy dentro del grfico 2D Sita el texto en el punto xyz dentro del grfico 3D Permite situar el texto en un punto seleccionado con el ratn dentro de un grfico 2D Activa la rejilla Permite mantener el grafico actual, de modo que el siguiente se superponga Sita los valores mximo y mnimo para los ejes Escala automtica Congela el escalado de ejes en los lmites corrientes Da el vector v de 4 elementos conteniendo la escala del grfico corriente Sita coordenadas cartesianas con el origen en la parte inferior izquierda del grfico Sita los lmites de los ejes en el rango de los datos Sita el origen en la parte superior izquierda Convierte el rectngulo graficado en cuadrado Factor de escala igual para los ejes

Curso de Matlab

axis(normal) axis(off) axis(on) subplot(m,n,p)

Elimina las opciones equal y square Elimina las etiquetas, marcas y rejillas manteniendo los textos Lo contrario de lo anterior Divide la ventana grfica en mxn partes y sita el grfico en la posicin p-sima

Matlab nos permite colocar algunas etiquetas en los grficos, como tambin subdividir la ventana en varios subplots.

Ing. Gerardo Collaguazo

Curso de Matlab

Adems Matlab tiene un asistente de grficas 2D. Para ello escriba >> funtool A continuacin presentamos un programa que realiza las grficas de funciones cartesianas explcitas y polares. Se deja como tema al lector que lo complete para graficar las funciones: estadsticas tipo paste, implcitas y paramtricas.

6.3 GRAFICAS 3D Grficos de lneas 3D plot3(x,y,z) plot3(x,y,z,s) plot3(x1,y1,z1,s1,x2,y2,z2,s2,) fill3(x,y,z,c) fill3(x1,y1,z1,c1,x2,y2,z2,c2,) ezplot3(x,y,z,animate) Dibuja el conjunto de puntos (x,y,z) Dibuja el conjunto de puntos (x,y,z) con la opcin dada por s (tipo de lnea y color) Dibuja varias funciones en una misma ventana Dibuja un polgono compacto Igual que en 2D Curva paramtrica 3D con animacin

1. Graficar la funcin paramtrica

Ing. Gerardo Collaguazo

Curso de Matlab

2. Graficar la funcin

en animacin

3. Graficar un plano en el primer octante

Ing. Gerardo Collaguazo

Curso de Matlab

Superficies explcitas y paramtricas, mallas y contornos (curvas de nivel) [X,Y]=meshgrid(x,y) Transforma el campo de definicin de las variables x e y de la funcin a representar en argumentos matriciales utilizables por los comandos surf y mesh para obtener grficos de superficie y malla respectivamente. Grafica una superficie explcita z f ( x, y) o paramtrica

surf(x,y,z)

x
surfc(x,y,z)

x(t , u ),

y(t , u ) , z

z (t , u ) , realizando con los colores

especificados en C. C se puede ignorar Grafica una superficie explcita z

f ( x, y)

o paramtrica

x(t , u ),

y(t , u ) , z

z (t , u ) , junto con el grfico de

surfl(x,y,z) mesh(x,y,z,c)

contorno (curvas de nivel en el plano XY) realizando con los colores especificados en C. C se puede ignorar Grafica una superficie explcita z f ( x, y) o paramtrica

z (t , u ) , con el dibujo sombreado Grafica una superficie explcita z f ( x, y) o paramtrica x x(t , u ), y y(t , u ) , z z (t , u ) , dibujando las lneas de la
rejilla que componen la malla con los colores especificados en C (opcional) Grafica una superficie explcita z f ( x, y) o paramtrica

x(t , u ),

y(t , u ) , z

meshz(x,y,z,c)

x
meshc(x,y,z,c)

x(t , u ),

y(t , u ) , z

z (t , u ) , con una superficie de

cortina o teln en la parte inferior Grafica una superficie explcita

x
contour(z) contour(z,n) contour(x,y,z,n) contour3(z) contour3(z,n) contour3(x,y,z,n) contourf() pcolor(x,y,z)

x(t , u ),

y(t , u ) , z

z f ( x, y) o paramtrica z (t , u ) , junto con las curvas de

nivel proyectadas sobre el plano XY Dibuja las curvas de nivel para la matriz Z. El nmero de curvas a utilizar se elige automticamente. Se define n lneas de nivel Dibuja las curvas de nivel para la matriz Z usando en los ejes X e Y el escalado definido por los vectores x e y Dibujan los grficos de contorno en 3D

Sphere sphere(n) cylinder(.) quiver3(x,y,z,u,v,w)

Dibuja un grfico de contorno (curvas de nivel) y rellena las reas entre las isolneas Dibuja un grfico de contorno (curvas de nivel) para la matriz (x,y,z) utilizando una representacin basada en densidades de colores. Suele denominarse grfico de densidad. Grafica una esfera de radio 1 usando 20 caras Grafica una esfera usando nxn caras Dibuja un cilindro Dibuja vectores normales de componentes (u,v,w) en los puntos (x,y,z)

A ms de estas instrucciones tambin podemos usar: ezsurf(f, [xmin xmax ymin ymax], ezmesh(.). Graficar , , de diferentes maneras.

Ing. Gerardo Collaguazo

Curso de Matlab

Se deja al lector realizar la misma grfica con las dems instrucciones y observar sus diferencias. Solamente se deber cambiar la ltima lnea de comando. Tambin podemos visualizar las lneas de nivel.

Se deja al lector graficar las lneas de nivel con las dems instruciones. La funcin quiver le da direccionales a una grfica de contorno.

Ing. Gerardo Collaguazo

Curso de Matlab

Adems, clavel aade valores a la altura de una grfica de contorno.

Ing. Gerardo Collaguazo

Curso de Matlab

Grafiquemos ahora un cilindro cuya curva generatriz sea 2+sen(t). La generacin de la superficie en Matlab siempre lo hace alrededor del eje z.

Como se menciona ms arriba, Matlab puede graficar funciones expresadas en forma paramtrica. De esta forma podemos parametrizar una curva utilizando las coordenadas cilndricas o esfricas. Por ejemplo, vamos a graficar la superficie generada por la curva alrededor del eje z. As la ecuacin matemtica ser: Al aplicar la transformacin a coordenadas cilndricas tenemos: (la misma anterior) al girar .

Su programacin en Matlab ser:

Ing. Gerardo Collaguazo

Curso de Matlab

Como podemos ver la grfica es similar a la anterior. De esta forma podemos graficar cilindros generados por cualquier curva alrededor del cualquier eje. Observe el orden de los factores en los productos. Adems en el eje de rotacin siempre aparecer la matriz de unos del tamao del vector del parmetro t. Tambin podeos graficar varias superficies en una misma ventana. Graficar un paraboloide seccionado por el plano z=2.

Propiedades de grficos 3D view([x,y,z]) Sita el punto de vista de la figura en el punto de coordenadas (x,y,z) view([az,el]) Sita el ngulo de vista de la figura en el punto de azimut (rotacin horizontal) az y elevacin (elevacin vertical) el Hidden Controla la presencia de lneas ocultas en el grfico. Dichas lneas aparecen con hidden on y desaparecen con hidden off Shading Controla el tipo de sombreado de una superficie creada con los comandos surf, mesh, etc. La opcin shading flan da un sombreado suave, shading Inter. Sombreado denso, shading faceted sombreado normal (por defect) colormap(m) Sita la matriz M como el mapa corriente de colores. M debe tener tres columnas y contener valores entre 0 y 1. Tambin puede ser una matriz cuyas filas sean del tipo [r g b]. En matlab existen matrices ya definidas como: bone(p), contrast(p), cool(p), copper(p) flag(p), gray(p), hsv(p), hot(p), jet(p), pink(p), prism(p), white(p). brighten(p) Ajusta la iluminacin. Si 0<p<1 la figura ser brillante, y si -1<p<0 la figura ser oscura. set(h,propiedad name, propiedad Setea tipos de lnea, color, anchura en la figura h definida por plot value) rotate(h,[a,e],alfa,[p,q,r]) Rota la figura h con un ngulo alfa, segn los ejes de azimut a y elevacin e, siendo el origen el punto [p,q,r]
Ing. Gerardo Collaguazo

Curso de Matlab

7. ALGEBRA NUMERICA LINEAL. SISTEMAS DE COORDENADAS Funciones de polinomios q=conv(u,v) [q,r]=deconv(v,u) k=polyder(p) k=polyder(a,b) [q,d]=polyder(b,a) y=polyval(p,x) [r,p,k]=residue(b,a) [b,a]=residue(r,p,k) r=roots(c) P=poly(r) Da los coeficientes del polinomio producto de los dos polinomios cuyos coeficientes vienen dados por los vectores u y v Da los polinomios cociente y resto de la divisin entre los polinomios u y v. Se tiene v=conv(u,q)+r Da los coeficientes del polinomio k derivada del polinomio p Da los coeficientes de la derivada del producto de a y b Da el numerador q y el denominador d de la derivada de a/b Evala el polinomio p en x Da residuos, polos y trminos de la expansin racional de b/a Convierte la expansin racional a polinomios de coeficientes b y a Da el vector columna r de races del polinomio con coeficientes c Da los coeficientes del polinomio P cuyas races son el vector r

Para trabajar con las de polinomios, estos deben estar expresados en forma de vectores con los coeficientes numricos. Vamos a suponer los polinomios siguientes: y Entonces los factores del polinomio son: .

Ing. Gerardo Collaguazo

Curso de Matlab

El valor del polinomio evaluado en x=10 ser:

Supongamos que las races del polinomio son: r=[6 -5], entonces el polinomio ser:

El producto de los polinomios ser: Por tanto, el polinomio ser:

La divisin P(x)/Q(x) ser: El cociente: El residuo:

Calculemos la derivada de P(x)Q(x)

Entonces la derivada ser: La derivada de Q(x)/P(x) ser:

Ing. Gerardo Collaguazo

Curso de Matlab

As, la derivada ser:

Consideremos la fraccin

, descomponer en fracciones parciales.

Entonces tendremos:

Solucin de ecuaciones. solve(ecuacin,x) syms x; solve(ecu(x),x) solve(ec1, ec2,,ecn, x1,x2,,xn) x=linsolve(a,b) x=a\b x=a/b x=fzero(funcin,x0) eval(f) Resuelve la ecuacin en la variable x Resuelve la ecuacin ecu(x) en la variable x Resuelve n ecuaciones simultneas (sean lineales o de orden superior) Resuelve A*X=B para una matriz cuadrada A, siendo X y B matrices Resuelve el sistema A*X=B Resuelve el sistema X*A=B (Ponga atencin en su utilizacin) Halla un cero de la funcin cerca de x0 Evala la funcin f en los valores del vector x

Resolver

Observe que al escribir double(), Matlab entrega un resultado con decimales. Otro ejemplo:

Ing. Gerardo Collaguazo

Curso de Matlab

Resolver

Las tres siguientes funciones de la tabla son vlidas nicamente para ecuaciones lineales. Resolver el sistema de ecuaciones:

Al mismo resultado se llega si empleamos: x=inv(A)*B como se vio anteriormente. Tambin no olvidemos que estas formas de solucin son vlidos nicamente si la matriz A es cuadrada. Adems de la teora sabemos que un sistema tiene solucin si rang(A)=rang(B), donde A es la matriz de las incgnitas y B la matriz ampliada.

Ejemplos: Estudiar y resolver el sistema de ecuaciones:

Ing. Gerardo Collaguazo

Curso de Matlab

En caso de tener un nmero de ecuaciones menor al de incgnitas, se resolver con la instruccin linsolve. En este caso Matlab asignar un valor (generalmente cero) a una de las variables. Graficar y hallar la raz de la ecuacin

TRANSFORMACION DE COORDENADAS En coordenadas cilndricas tenemos la tripleta (r, , z), mientras que en coordenadas esfricas tenemos (r, , ). Las ecuaciones de transformacin son las siguientes:

x
Cilndricas a rectangulares:

r cos rsen z
; Rectangulares a cilndricas:

x2 arctg

y2 y x

y z

z
x2 arctg y2 y x z2

x
Esfricas a rectangulares:

rsen cos r cos cos , Rectangulares a esfricas: r cos

y z

A continuacin presentamos la sintaxis de estas funciones de transformacin. [THETA, RHO,Z]=cart2pol(X,Y,Z) [THETA, RHO]=cart2pol(X,Y) [THETA, PHI,R]=cart2sph(X,Y,Z) [X,Y,Z]=pol2cart(THETA,RHO,Z) [X,Y]=pol2cart(THETA,RHO) [x,y,z]=sph2cart(THETA,PHI,R) Transforma cartesianas a cilndricas Transforma cartesianas a polares Transforma cartesianas a esfricas Transforma cilndricas a cartesianas Transforma polares a cartesianas Transforma esfricas a cartesianas

Para la correcta utilizacin de estas instrucciones, es necesario observar el orden en que nos devuelve el resultado.
Ing. Gerardo Collaguazo

Curso de Matlab

Ejemplos: Dado el punto (, 1 2) en coordenadas cilndricas. Transformar a coordenadas cartesianas.

El lector puede practicar con el resto de instrucciones. 8. FUNCIONES DE ANALISIS ESTADISTICO

9. MATEMATICA SIMBOLICA. ANALISIS MATEMATICO Y ALGEBRA Matlab dispone de una herramienta que permite el clculo de todas las operaciones de Algebra (frmulas, expresiones algebraicas, simplificacin de fracciones, etc.), de Anlisis Matemtico (lmites, derivadas integrales, etc.) de manera algebraica (simblica). Para esto la instruccin principal a emplearse es syms la misma que permite definir una variable simblica. En la siguiente tabla se presentan las instrucciones de la matemtica simblica. ALGEBRA syms x y z t syms x=syms(x) sym2poly(poli) Convierte las variables x, y z t en variables simblicas Lista las variables simblicas en el espacio de trabajo Convierte la variable x en simblica (igual que syms x) Convierte el polinomio simblico poli en un vector cuyas componentes son sus coeficientes poly2sym(vector) Convierte el vector en un polinomio simblico cuyos coeficientes son las componentes del vector poly2sym(vector,v) Convierte el vector en un polinomio simblico en la variable v cuyos coeficientes son las componentes del vector pretty(expresin) Convierte la expresin simblica a escritura matemtica simplify(expresin) Simplifica la expresin de variables definidas con syms x,y, simplify(sym(expresion) Simplifica la expresin de variables simblicas dadas en la expresin R=collect(S) Agrupa los trminos del polinomio S en funcin de la variable v R=collect(S,v) R=expand(S) Expande la expresin S factor(X) Descompone en factores un polinomio R=simple(S) Simplifica la expresin S buscando la expresin ms corta posible subs(f,a) Sustituye el valor a en la funcin f subs(f,a,b) Sustituye en f el valor de a por el valor de b subs(f,variable,valor) Sustituye en la ecuacin de f la variable por el valor subs(f,{x,y,..},{a,b,}) Sustituye en la ecuacin de f las variables {x,y,..} por los valores {a,b,} symadd(f,g) Suma las funciones f y g symop(f,+,g,+,h,+, Suma las funciones f,g,h symsub(f,g) Resta f-g symop(f,-,g,-,h-, Resta f-g-h- symmul(f,g) Multiplica f*g symop(f,*,g,*,h,*, Multiplica las funciones f*g*h* symdiv(f,g) Divide las funciones f/g symop(f,/,g,/,h,/, Divide f/g/h/ sympow(f,k) Eleva f a la potencia k (k escalar)
Ing. Gerardo Collaguazo

Curso de Matlab

symop(f,^,g) compose(f,g) compose(f,g,u) g=finverse(f) g=finverse(f,v)

Eleva la function a la potencia g Compone la function f(g(x)) Function compuesta de f y g, tomando la expresin u como dominio de f y g Function inverse de f Function inverse de f de variable v

Expresar en un vector los coeficientes de un polinomio y expresar un polinomio a partir de un vector.

Simplificar la siguiente expresin:

Agrupar la expresin

en senx

Realizar el producto

Hallar las identidades

Factorar

En la expresin a+b reemplazar a=x y b=5

Sean las funciones Realizar f o g = f(g(x))

Ing. Gerardo Collaguazo

Curso de Matlab

Observacin: Por ser Matlab una versin demo, en ocasiones algunas de las funciones no vienen implementadas.

Observe el mensaje indicando que la funcin inversa no es nica. LIMITES limit(funcin,x,a) limit(funcion,a) limit(funcin,x,a,right) limit(funcin,x,a,left) symsum(s,v,a,b) symsum(s,v) Calcula el lmite de la funcin de variable x cuando tiende a a Calcula el lmite de la funcin de variable x cuando tiende a a Calcula el lmite a la derecha Calcula el lmite a la izquierda Suma de la serie S de variable v entre a y b Suma de la serie S de variable v variando de o a v-1

Ejemplos: Calcular los siguientes lmites:

, tambin a la izquierda.

DERIVADAS diff(f,x) syms x, diff(f,x) diff(f,x,n) syms x, diff(f,x,n) R=jacobian(w,v) Halla la derivada de f respecto de f Halla la derivada de f respecto de x Halla la derivada n-esima de f respecto de x Halla la derivada n-esima de f respecto de x Calcula el jacobiano de w respecto de v

Ejemplos: Calcular la deriva de

Ing. Gerardo Collaguazo

Curso de Matlab

Calcular

de la funcin

Como podemos observar, Matlab puede calcular la derivada total o parcial de cualquier orden.

INTEGRALES syms x, int(f(x),x) o int(f(x),x) int(int(f(x,y),x),y) syms x y, int(int(f(x,y),x),y)) int(int(int(int(f(x,y,z),x),y)),z) syms x y, z, int(int(int(int(f(x,y,..,z),x),y),),z) syms x a b, int(f(x),x,a,b)

f ( x)dx
f ( x, y)dxdy f ( x, y)dxdy f ( x, y, z )dxdydz

f ( x, y, z )dxdydz
b

f ( x)dx
a

int(f(x),x,a,b)

f ( x)dx
a

int(int(f(x,y),x,a,b),y,c,d))

b d

f ( x, y )dxdy
a c

syms x y a b c d, int(int(f(x,y),x,a,b),y,c,d)) int(int(int(int(f(x,y,,z),x,a,b,), y,c,d),),z,e,f) syms x y z a b c d e f, int(int(int(int(f(x,y,,z),x,a,b),y,c,d), .),z,e,f)


Ing. Gerardo Collaguazo

b d

f ( x, y )dxdy
a c b d f

f ( x, y, z )dxdydz
a c e b d f

f ( x, y, z )dxdydz
a c e

Curso de Matlab

Calcular las siguientes integrales. 1.

2.

3.

4.

A continuacin se presenta un programa para el clculo de una integral doble cuyo dominio de integracin est dado por dos superficies de interseccin.

Ing. Gerardo Collaguazo

Curso de Matlab

ECUACIONES DIFERENCIALES dsolve(e,v) dsolve(e,c,,v) dsolve(e,c1,c2,,cn,v) dsolve(e1,e2,..,en,c1,c2,,cn,v) Resuelve la ecuacin diferencial e de variable v. Solo devuelve soluciones explcitas Resuelve la ecuacin diferencial e sujeta a la condicin inicial c Resuelve la ecuacin e sujeta a las condiciones iniciales c Resuelve el sistema de ecuaciones diferenciales sujetas a las condiciones hncales c

Calcular las siguientes ecuaciones diferenciales. 1.

2.

, con la condicin inicial y(2)=1

3.

4.

, con las condiciones iniciales x(0)=1, y(0)=2

LAPLACE, FUNCIONES DE TRANSFERENCIA, etc. syms s, h=tf(num,den) syms s ilaplace(num,den) freqs(num,den) step(num,dem) bode(h) Devuelve la funcin de transferencia h en funcin de s t, Devuelve la transformada inversa de Lapace en funcin de t Grafica los diagramas de Bode Grafica la funcin de transferencia en un sistema transitorio Grafica los diagramas de Bode

10. ANALISIS NUMERICO

Ing. Gerardo Collaguazo

Curso de Matlab

Para el estudio de Anlisis Numrico se debe revisar los textos de la Matemtica referentes a este tema. En esta parte vamos a presentar a modo de ejemplo la integracin numrica por el Mtodo del Trapecio y la Regla de Simpson. Mtodo del Trapecio Se considera el intervalo de integracin [a,b] el cual se lo divide en n subintevalos. En cada subintervalo se calcula el rea de cada trapecio formado, tal que:

El resultado del programa es el siguiente:

Ing. Gerardo Collaguazo

Curso de Matlab

Regla de Simpson De la misma forma consideramos la Regla de Simpson 1/3 en la cual se considera la siguiente relacin matemtica de clculo.

I El resultado de este programa es el siguiente:

Ing. Gerardo Collaguazo

Curso de Matlab

11. INTERFACES GRAFICAS En el presente tema se describen los elementos de una programacin orientada a objetos, denominada en Matlab Interfaz grfica de usuario (GUI), el cual permite interactuar al usuario con el ordenador de una manera rpida en la solucin de problemas. Controles de la interfaz de usuario Los controles son objetos que se ubican dentro de GUI y permiten mostrar, aceptar o validar datos. En la paleta del formulario editor contiene los controles de interface de usuario que se pueden emplear, a saber: Push Button, Sliders, Toggle buttons, Frames, Radio buttons, Listboxes, Popup menus, Edit Text, Exes, Static Text y figure, como se muestra en la siguiente figura.

Las propiedades de estos controles se encuentran persionando el botn Property Inspector. La accin de estos controles se programa en los Callback de cada control. Revisemos rpidamente la funcin de cada control. Push button-genera una accin cuando el usuario hace click sobre el botn (Por ejemplo Ok para cerrar una ventana de dilogo) Toggle buttons-Genera un estado binario on-off. La accin del callback se ejecuta solo cuando se mantiene presionado el botn. Radio buttons-Sirve para seleccionar una opcin de un grupo de acciones. El valor del radiobutton seleccionado tendr un valor de 1 mientras que los dems tendrn 0. Checkboxes-se utilizan para proporcionar al usuario varias opciones de las que se pueden elegir una o varias opciones cuando se ha pulsado el botn. Edit text-son campos de texto que permiten al usuario ingresar o modificar cadenas de texto. Static text-son campos de texto fijos. Silders- son barras de deslizamiento que permiten explorar una larga lista de valores. Se deben especificar el valor inicial, el final y paso. Frames-son cajas que permiten agrupar varios controles. List boxes-mustran una lista de tem de entre los cuales el usuario los puede seleccionar. Popup menus-permiten visualizar una lista de opciones cuando el usuario presiona la flecha. De esta lista elusuario puede seleccionar una de ellas. Axes-grafica los ejes de coordenadas para la graficacin de funciones. Figure- son ventanas que contienen el GUI con el editor del esquema. A continuacin se presentan las propiedades.

Ing. Gerardo Collaguazo

Curso de Matlab

Un vez que introducimos en la ventana todos los controles, al ejecutar el programa, se crea un archivo *.m en donde el usuario programar en los callbaks respectivos todas las funciones. A continuacin presentamos un pequeo ejemplo. Entramos en file >> New>>GUI. En la ventana con click derecho elegimos Property Inspector y cambiamos el color A continuacin ponemos un push button, tres toggle buttons, un popup men, y un static text, conforme la figura.

Cambiamos las propiedades en Property Inspector en String ponemos los nombres de los botones, conforme indica la figura. Guardamos el archivo y ejecutamos. El resultado es el siguiente.

Ahora programamos los callbacks respectivos, conforme el siguiente programa. Para surface:
% --- Executes on button press in superficie. function superficie_Callback(hObject, eventdata, handles) x=-5:0.5:5; y=x; [x,y]=meshgrid(x,y); z=(x.^2).*exp(-y.^2); surf(z)

Ing. Gerardo Collaguazo

Curso de Matlab

Para Mesh:
% --- Executes on button press in malla. function malla_Callback(hObject, eventdata, handles) x=-5:0.5:5; y=x; [x,y]=meshgrid(x,y); z=(x.^2).*exp(-y.^2); mesh(z)

Para Contour:
% --- Executes on button press in lineas_nivel. function lineas_nivel_Callback(hObject, eventdata, handles) x=-5:0.5:5; y=x; [x,y]=meshgrid(x,y); z=(x.^2).*exp(-y.^2); contour(x,y,z)

Para Popup men:


function popupmenu1_Callback(hObject, eventdata, handles) opcion=get(handles.popupmenu1,'value') switch opcion case 1 x=-8:0.1:8; y=x.*sin(x); plot(x,y) grid on case 2 t=0:0.1:2*pi; r=abs(sin(4*t)) polar(t,r) end

Para Cerrar:
% --- Executes on button press in cerrar. function cerrar_Callback(hObject, eventdata, handles) close(ejemplo_gui)

Para comprobar el programa, presionamos cada botn para ver su accin.

12. APLICACIONES A LA INGENIERIA 13. CONTROL DE PUERTO SERIAL CON MICROCONTROLADOR

BIBLIOGRAFIA Prez, C., MATLAB Y SUS APLICACIONES EN LAS CIENCIAS Y LA INGENIERIA, Ed. Prentice Hill, Madrid 2002. Morales, H., MATLAB 7 PARA CIENCIAS E INGENIERA, Ed. Magabyte, Lima 2005.
Ing. Gerardo Collaguazo

Curso de Matlab

Garca de Jaln, J. y otros, APRENDA MATLAB 7.0 COMO SI ESTUVIERA EN PRIMERO, Universidad Politcnica de Madrid, Madrid 2005 Brian, H., A GUIDE TO MATLAB FOR BEGINNERS AND EXPERIENCED USERS, Cambridge University Press, 2002. MATLAB USER GUIDE

Ing. Gerardo Collaguazo

You might also like