residencia jml proyecto

51
TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO DE TECOMATLÁN “ING. AQUILES CÓRDOVA MORÁN” INFORME TÉCNICO DE RESIDENCIA PROFESIONAL Desarrollo de un manual para la aplicación de MATLAB en el proceso de enseñanza y aprendizaje de matemáticas, en el instituto tecnológico de Tecomatlán, puebla. COMO REQUISITO PARA APROBAR LOS CRÉDITOS CORRESPONDIENTES A LA RESIDENCIA PROFESIONAL DE LA CARRERA INGENIERÍA EN SISTEMAS COMPUTACIONALES PRESENTA: JUAN MELCHOR LEON Tecomatlán, Pue. Julio de 2015.

Upload: juan-melchor

Post on 03-Dec-2015

226 views

Category:

Documents


5 download

DESCRIPTION

manual

TRANSCRIPT

Page 1: Residencia Jml Proyecto

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE TECOMATLÁN

“ING. AQUILES CÓRDOVA MORÁN”

INFORME TÉCNICO DE RESIDENCIA PROFESIONAL

Desarrollo de un manual para la aplicación de MATLAB en el proceso de enseñanza y aprendizaje de matemáticas, en el instituto tecnológico de

Tecomatlán, puebla.

COMO REQUISITO PARA APROBAR LOS CRÉDITOS CORRESPONDIENTES A LA RESIDENCIA PROFESIONAL DE LA

CARRERA INGENIERÍA EN SISTEMAS COMPUTACIONALES

PRESENTA:

JUAN MELCHOR LEON

Tecomatlán, Pue. Julio de 2015.

Page 2: Residencia Jml Proyecto

ContenidoI. INTRODUCCIÓN:........................................................................................................................1

II. JUSTIFICACIÓN:..........................................................................................................................2

III. OBJETIVOS.............................................................................................................................3

General..........................................................................................................................................3

Especifico.......................................................................................................................................3

IV. PROBLEMA A RESOLVER........................................................................................................3

V. DESARROLLO..............................................................................................................................4

Requerimientos para la instalación de MATLAB...............................................................................4

Ventana de MatLab:......................................................................................................................4

Manejo elemental de MATLAB en ventana de comandos............................................................4

Funciones y operaciones básicas...................................................................................................6

Variables:.......................................................................................................................................6

Variables especiales......................................................................................................................6

Comandos de ayuda:.....................................................................................................................7

Archivos m.....................................................................................................................................8

Archivos m de comandos..............................................................................................................8

Saliendo y Guardando el Espacio de Trabajo................................................................................9

Symbolic Math Toolbox.....................................................................................................................9

Simplificación y sustitución...............................................................................................................9

Algebra lineal:..................................................................................................................................13

Introducción de Matrices............................................................................................................13

Operaciones elementales de filas...............................................................................................14

Sistemas de Ecuaciones Lineales.................................................................................................15

Producto escalar y norma de un vector......................................................................................15

Recta y plano...............................................................................................................................17

Gráfica de funciones en el plano.................................................................................................17

Gráficos con MATLAB en el espacio............................................................................................18

Gráfica de funciones 2D...............................................................................................................19

Calculo Diferencial...........................................................................................................................20

Límites..........................................................................................................................................20

Diferenciales................................................................................................................................21

Aplicaciones de la derivada.........................................................................................................22

Page 3: Residencia Jml Proyecto

Máximos y mínimos....................................................................................................................22

Integración.......................................................................................................................................25

Cálculo de primitivas...................................................................................................................25

Integrales definidas.....................................................................................................................26

Aplicaciones.....................................................................................................................................27

Cálculo de áreas...........................................................................................................................27

Volumen de un cuerpo de revolución.........................................................................................29

Longitud de arcos de curvas........................................................................................................30

Resumen de los comandos de MatLab:..........................................................................................32

VI. RESULTADOS........................................................................................................................38

VII. CONCLUSIÓN Y RECOMENDACIONES..................................................................................38

VIII. COMPETENCIAS DESARROLLADAS......................................................................................39

IX. APARTADO DE AYUDA.........................................................................................................39

X. GLOSARIO................................................................................................................................39

XI. BIBLIOGRAFÍA......................................................................................................................39

ÍNDICE DE FIGURAS.

Figura 1 .-Ventana principal de MATLAB...........................................................................................4Figura 2. Apariencia del Workspace después de realizar las operaciones anteriores........................5Figura 3.- descripción del editor........................................................................................................9Figura 4. Resultado del comando collect(f).....................................................................................10figura 5. Resultado del comando expand(f)....................................................................................11figura 6. Resultado del comando factor(f)......................................................................................11figura 7. Resultado del comando simplify()....................................................................................12figura 8. Resultado del comando pretty(f)......................................................................................12Figura 9. Resultado del comando subs(S,new,old).........................................................................12figura 10. matrices A,B....................................................................................................................14Figura 11. Resultado de la operación..............................................................................................14figura 12. Sistema de ecuación lineal..............................................................................................15Figura 13. Producto escalar de un vector........................................................................................16Figura 14 norma de un vector.........................................................................................................17Figura 15. Grafica con plot(u)..........................................................................................................17Figura 16. Grafica generado con la función plot(x,y).......................................................................18figura 17.grafica generado con la función mesh(magic(10))...........................................................19Figura 18. Grafica generada con la función meshgrid()...................................................................20Figura 19. Resultado que nos arroja el comando limit()..................................................................21

Page 4: Residencia Jml Proyecto

Figura 20. Primera derivada de f, con respecto a x........................................................................22Figura 21. Resultado de la tercera derivada de f.............................................................................22Figura 22. Grafica de valor mínimo y máximo.................................................................................23Figura 23. Resultado del comando fminbnd().................................................................................24Figura 24. Valor mínimo de la función.............................................................................................24Figura 25. Comprobación del valor mínimo....................................................................................25Figura 26. Valor máximo.................................................................................................................25Figura 27. Integramos nuestra función y con respecto a x..............................................................26Figura 28.definimos x y lo guardamos en y.....................................................................................26Figura 29. Gráfica de la funcióny=2x con cuadricula visible.........................................................27Figura 30.El área obtenida debajo de la curva................................................................................27Figura 31. Gráfica de la función integrada con cuadricula visible....................................................28Figura 32. Propiedades de Property Editor.....................................................................................28Figura 33. Vista del área debajo de la curva al cambiar el Plot Type a tipo Area............................29Figura 34. Resultado de solido de revolución..................................................................................29Figura 35. Solido de revolución generado al girar la función respecto al eje x................................30Figura 36. Gráfica y resultado de la función....................................................................................31

Page 5: Residencia Jml Proyecto

1

I. INTRODUCCIÓN:

En la actualidad, el manejo de los distintos programas computacionales para la solución de problemas de ingeniería ha pasado de ser un lujo a una necesidad. El trabajo presentado a continuación constituye una guía de aprendizaje de MATLAB básico con aplicaciones de algebra lineal, cálculo diferencial e integral, y se pretende sirva como apoyo a los alumnos de Ingeniería en sistemas computacionales en el Instituto Tecnológico de Tecomatlán .MATLAB, es un software ampliamente difundido en el campo de la docencia y la investigación ya que es un lenguaje de alto nivel para cálculo científico con gran potencial y fácil de manejar, ya que cuenta con distintos paquetes.

Symbolic Matlab Toolbox.

Este paquete nos permite realizar cálculos de manera simbólica, es decir, sin necesidad designar un número a una variable y tratarla como una constante genérica, lo cual, nos permite realizar operaciones de integración simbólica, derivación, cálculo de áreas, volúmenes, etc. Además, en este manual se tratan temas básicos acerca de graficación en dos y tres dimensiones, los cuales servirán de apoyo para la comprensión de los resultados obtenidos. Con este manual, se pretende que el alumno adquiera los conocimientos básicos necesarios para resolver problemas de algebra lineal, cálculo diferencial e integral, además de sus aplicaciones, dándole la oportunidad de comprender de una manera más clara las aplicaciones de ésta extensa área, además de las facilidades que nos brinda MATLAB para realizar este tipo de procedimientos

[Fecha]

Page 6: Residencia Jml Proyecto

2

II. JUSTIFICACIÓN:

El nombre de MATLAB proviene de la contracción de los términos MATrix LABoratory y fue inicialmente concebido para proporcionar fácil acceso a las librerías LINPACK y EISPACK, las cuales representan hoy en día dos de las librerías más importantes en computación y cálculo matricial.

MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculo numérico y simbólico de forma rápida y precisa, acompañado de características gráficas y de visualización avanzadas aptas para el trabajo científico e ingeniería. MATLAB es un entorno interactivo para el análisis y modelado. Por otro lado MATLAB, presenta un lenguaje de programación de muy alto nivel basado en vectores, arreglos y matrices.

MATLAB, es un software en continuo crecimiento y muy adaptable a los avances científicos y al trabajo en laboratorios I+D, que resuelve los problemas que presenta la ingeniería en el desarrollo de productos innovadores.

En el campo de Comunicaciones MATLAB permite realizar modelado y diseño de sistemas DSP, trabajar con sistemas conmutados, con telefonía fija/móvil y con modelado de canal/emisor receptor. En el campo Aeroespacial/Defensa, MATLAB permite trabajar en sistemas radar, unidades de seguimiento y rastreo, aviónica, modelado y control de sistemas de potencia y guiado, y navegación y control.

En el campo de la automoción, MATLAB posibilita aplicaciones para trabajar en la Ingeniería de control, sistemas de suspensión y diseño de bloques de embrague.

MATLAB puede ser usado en las Finanzas cuantitativas, pudiendo utilizarse como un entorno de cálculo para el análisis de datos, para la valoración y análisis de opciones e instrumentos financieros, para la optimización de carteras y análisis de riesgos y para el desarrollo de modelos y su validación.

Matlab también puede trabajar herramientas de Estadística y pronósticos. MATLAB usando el Simulink, permite diseñar sistemas dinámicos sencillos o complejos y realizar modelado y simulación mediante un lenguaje agradable.

[Fecha]

Page 7: Residencia Jml Proyecto

3

III. OBJETIVOS General

Conocer y aprender a manejar operadores matemáticos y su prioridad para una resolución detallada de las matemáticas para la enseñanza y el auto aprendizaje.

Especifico Conocer y aprender el entorno de trabajo de Matlab.

Manejar los valores matemáticos, así como la aplicación de algunas funciones de biblioteca.

Resolver ejercicios de matemáticas en el entorno.

Graficar y simular funciones.

IV. PROBLEMA A RESOLVER

[Fecha]

Page 8: Residencia Jml Proyecto

4

V. DESARROLLO.

Requerimientos para la instalación de MATLAB.

Ventana de MatLab:El primer paso antes de comenzar a trabajar con MATLAB, consiste en conocer la ventana

principal y sus componentes, los cuales se muestran a continuación:

Figura 1 .-Ventana principal de MATLAB

Manejo elemental de MATLAB en ventana de comandos

En MATLAB, los comandos deben introducirse uno a uno enseguida del prompt (>>), que aparece en la ventana de comandos. Para familiarizarnos con el manejo de la

[Fecha]

Editor: donde escribes tus algoritmos

Ruta: Donde MATLAB tiene almacenados tus algoritmos.

Menú Layout: Donde cambias la vista del

escritorio en MATLAB

Help: (F1) Manual de Ayuda para utilizar todos los

recursos que tiene MATLAB

Current Directory: Donde MATLAB

tiene almacenados tus algoritmos.

Command Window: Espacio donde puedes escribir comandos como: cálculos

(suma, resta, etc.), desarrollar gráficas (figuras) llamar funciones de ayuda.

Workspace: Espacio donde permite observar las variables

definidas en el comando o mediante un algoritmo.

Command History: Espacio donde puedes observar los comandos hechos anteriormente.

Page 9: Residencia Jml Proyecto

5

ventana de comandos de MATLAB, comenzaremos realizando algunas operaciones matemáticas básicas que nos permitan entender el funcionamiento de la consola o ventana de comandos.

Para sumar dos números, es necesario introducir lo siguiente en la ventana de comandos:

>>3+2 Ans = 5

En el ejemplo, se presentan los comandos ingresados por el usuario en un fondo color anaranjado, mientras que el resultado obtenido al presionar la tecla ENTER se muestra remarcada con un fondo en color azul.

Como podemos apreciar, en el resultado se guardó automáticamente en una variable llamada Ans, de la forma Ans=4. Esto sucede ya que, siempre que realicemos una operación sin asignarla a una variable, ésta por default se guardará en la variable ANS, sobrescribiendo el resultado anterior.

Pero, ¿Qué pasaría si queremos conservar los valores de distintas operaciones?, en este caso es necesario asignar la operación a una variable como se muestra en el ejemplo siguiente:

>>x=3*5 Ans = 15

Una vez realizadas la operación de suma y multiplicación anteriores, nuestro Workspace debe lucir de la siguiente manera:

Figura 2. Apariencia del Workspace después de realizar las operaciones anteriores.

Se pueden apreciar en él los valores resultantes de dichas operaciones. De esta manera, MATLAB nos permite realizar en la operación matemática tan sencilla como los ejemplos hasta ahora mostrados, y a su vez, realizar cálculos matemáticos con niveles de

[Fecha]

Page 10: Residencia Jml Proyecto

6

complejidad increíblemente elevados, convirtiéndose en una poderosa herramienta en ingeniería.

Funciones y operaciones básicasA continuación, se presentan los operadores matemáticos más comunes que se utilizan en

MATLAB.

Operación Símbolo EjemploSuma + 3+2Resta - 6-7Multiplicación * 3.5*32División / 20/4Potencia ˆ 6ˆ2

La prioridad de las operaciones:

1. Exponenciación

2. Multiplicación y división

3. Suma y Resta

Paréntesis: Para paréntesis anidados, el más interno es el primero que se ejecuta.

Variables:Matlab distingue minúsculas de mayúsculas, esto es que A y a representan

variables diferentes.

Las variables pueden contener hasta 19 caracteres y comenzar por una letra seguida de cualquier número de letras, dígitos o guiones de subrayado.

Ejemplo:

Total, B, J5, AREA, ec_dif, L_101, etc.

Variables especiales ans variable creada automáticamente si hay una expresión a la que no se le asigno

nombre de variable.

Ejemplo: >> 2*5+1.5

ans=

11.5000

pi: Constante pi, razón de una circunferencia y su diámetro.

[Fecha]

Page 11: Residencia Jml Proyecto

7

inf: infinito

Ejemplo: >>a=1/0

Warning: Divide by zero.

a =

inf

NaN: magnitud no numérica (Not a Number)

Ejemplo: >>b=0/0

Warning: Divide by zero

b=

NaN

i y j : se emplean para introducir números complejos. i = j = √−1

Comandos de ayuda:

Comando Acción>>prompt Indica que Matlab está listo para aceptar

órdenes.Who Para poder visualizar cuales variables han

sido ya introducidas.Nombre de la variable Para conocer el contenido de la variable.Clc Limpia la pantalla de comandosClear Para borrar toda las variables existentesClear nombrevariable Para borrar una variable de la memoriaHelp Para obtener ayuda. Nos despliega todo

un listado de temas Help nombre_comando Si se teclea help seguido de un comando,

función o archivo de matlab, aparecerá una descripción del comando

Las teclas de navegación Se desplazaran los comandos anteriores. También Se pueden utilizar las flechas para localizar un comando y modificarlo y al presionar la tecla Intro se ejecutará el comando modificado.

[Fecha]

Page 12: Residencia Jml Proyecto

8

% Si se inicia una línea con el símbolo % se interpretará como un comentario. Ejemplo: % método simple.

; (punto y coma) Se utiliza cuando se escribe una instrucción en MatLab y no se desea ver los resultados desplegados.

Control + C Se utiliza para detener el proceso de cualquier tipo de cálculo, gráfico o impresión.

Archivos mMatlab puede ejecutar una sucesión de instrucciones almacenadas en archivos.

Estos archivos se denomina archivos m debido a que su extensión por default es m.

Los archivos m pueden ser de comandos o de funciones.

Archivos m de comandosEstos archivos consisten en una sucesión de instrucciones de Matlab y son

guardados como un simple archivo de texto (solo que su extensión es m y no txt). Pueden ser usados para introducir gran cantidad de datos o cuando se desea cambiar el valor de una o más variables y reevaluar una serie de órdenes.

Para iniciar un archivo m se hace click en new del menú Home y se selecciona New Script.

Aparecerá una nueva ventana para la edición de texto donde se teclea la lista de comandos de Matlab. Para guardarlo como archivo m en la unidad de almacenamiento se hace click en Save/Save as del menú Editor y se escribe el nombre del archivo, la extensión m se genera automáticamente.

Escribiendo simplemente el nombre del archivo en la ventana command window se ejecutaran, línea por línea las órdenes contenidas en el archivo.

[Fecha]

Page 13: Residencia Jml Proyecto

9

Figura 3.- descripción del editor.

Saliendo y Guardando el Espacio de TrabajoPara salir de MATLAB se escribe quit ó exit. Al terminar una sesión de MATLAB, las

variables en el espacio de trabajo se borran. Si deseas guardar tu espacio de trabajo escribes save.

Save guarda todas las variables en un archivo llamado matlab.mat. Se puede utilizar save y load con otros nombres de archivos, o para guardar solo variables seleccionadas

Symbolic Math Toolbox

Con Symbolic Math Toolbox, el usuario cuenta con una serie de comandos que le permitirán realizar cálculos simbólicos. Este toolbox, nos brinda las herramientas necesarias para resolver y manipular expresiones matemáticas simbólicas generando resultados aritméticos de gran precisión. Se cuenta con cientos de funciones simbólicas que nos permitirán realizar tareas como:

Diferenciar Integrar Operaciones algebraicas lineales Simplificación Transformación Aritmética de precisión variable Solución de ecuaciones

Botón para abrir un nuevo editor

[Fecha]

Botón de ejecutar

Page 14: Residencia Jml Proyecto

10

Simplificación y sustitución Algunas de los comandos básicos que nos serán de gran ayuda al resolver

problemas de matemáticas simbólicas, y uno de los problemas con los que nos encontramos, es con la necesidad de expresar una misma ecuación de distintas maneras, en el ejemplo siguiente, podemos apreciar la misma ecuación expresada de tres formas distintas.

En el ejemplo siguiente, podemos apreciar la primera instrucción llamada syms seguida por la letra x, lo cual nos indica que estamos asignando x como una variable simbólica en el Workspace, lo cual nos permitirá trabajar con ella utilizando funciones del Symbolic Math Toolbox.

Otra dato importante es que, en la consola de MATLAB, podemos agregar comentarios, los cuales son ignorados al ejecutar las instrucciones, es decir, solo tienen función informativa para el usuario. En este ejemplo, podemos apreciar que al escribir el signo %, automáticamente el texto que lo sigue aparece en color verde, lo cual quiere decir que es un comentario, y que será ignorado al momento de realizar las operaciones.

>> syms x %Declara “x” como una variable simbólica >> f = x^5 - 6*x^2 + 31*x - 3; %Guarda en f, g y h la misma función >> g = (x - 1)*(x - 6)*(x - 5); %Expresada de distinta forma >> h = -6 + (6 + (-8 + x)*x)*x;

Existen algunos comandos que dentro del Symbolic Math Toolbox que nos permiten visualizar una de distintas formas. En el ejemplo anterior, vimos un ejemplo de tres ecuaciones iguales expresadas en un modo distinto, pero, al fin de cuentas, no son más que la misma ecuación. A continuación se menciona una breve descripción y ejemplo sobre el uso de algunos comandos para simplificar una ecuación.

collect(f)

El comando collect(f) muestra junta todos los coeficientes con la misma potencia de la variable simbólica, por ejemplo x. Un segundo argumento puede indicar la variable que se quiere afectar, en el caso de tener varias variables.

Ejemplo:

[Fecha]

Page 15: Residencia Jml Proyecto

11

Figura 4. Resultado del comando collect(f)

Podemos observar en el resultado, que se efectuaron todas las multiplicaciones y los términos se agruparon de mayor a menor grado.

expand(f)

El comando expand(f) tiene la función de distribuir los productos de una ecuación y aplicar las identidades correspondientes generándonos ecuaciones de sumas, como se muestra en el ejemplo.

figura 5. Resultado del comando expand(f)

En este ejemplo, podemos apreciar que al aplicar el comando expand( ) a la función f, obtuvimos como resultado que esta se expanda en términos suma.

factor(f)

Siendo f un polinomio con coeficientes racionales, el comando factor(f) expresa la función f como un producto de polinomios de menor grado con coeficientes racionales. En caso de que el polinomio f no pueda ser factorizado, el resultado será el mismo polinomio f en su forma original.

[Fecha]

Page 16: Residencia Jml Proyecto

12

figura 6. Resultado del comando factor(f)

Podemos apreciar que el resultado al ejecutar el comando factor nos entrega la ecuación factorizada, contrario a la función expand.

simplify(f) La función simplify(f) es un poderoso comando de propósito general el cual aplica a una

ecuación identidades algebraicas, potencias, raíces cuadradas, potencias fraccionales, así como una gran cantidad de identidades trigonométricas, exponenciales, logarítmicas, entre otras, generándonos excelentes resultados.

figura 7. Resultado del comando simplify()

En este ejemplo podemos apreciar como el comando simplify nos llevó de una función compleja a una expresión notablemente más sencilla.

pretty(f) El comando pretty(f) muestra la función f en un formato similar a la escritura natural

matemática.

[Fecha]

Page 17: Residencia Jml Proyecto

13

figura 8. Resultado del comando pretty(f)

subs(S,new,old)

El comando subs(), reemplaza en la función S, la variable old por el valor de new, que puede ser una variable, una función o un número. Existen distintas variantes en los parámetros que se asignan al comando, mas sin embargo, para este curso básico solo usaremos la forma más genérica del mismo.

Figura 9. Resultado del comando subs(S,new,old)

Teniendo la función f=x^3+3*x+2 se pretende sustituir todas las letras x de la ecuación por la función almacenada en g (es decir, “y”). Una vez efectuado el comando pretty(), podemos apreciar que el resultado es la ecuación f, pero, todas las x fueron sustituidas por y.

Algebra lineal:Con frecuencia, los términos arreglo y matriz se usan de manera intercambiable en

ingeniería. Sin embargo, técnicamente, un arreglo es un agrupamiento ordenado de información, mientras que una matriz es un arreglo numérico bidimensional que se usa en álgebra lineal. Los arreglos pueden contener información numérica, pero también pueden contener datos carácter, datos simbólicos, etcétera. Por tanto, no todos los arreglos son matrices. Sólo aquéllos sobre los que se tenga intención de realizar transformaciones lineales satisfacen la definición estricta de una matriz.

El álgebra matricial se usa de manera extensa en aplicaciones de ingeniería. Las matemáticas del álgebra matricial se introducen por primera vez en los cursos de álgebra universitaria y se extiende en cursos de álgebra lineal y cursos de ecuaciones diferenciales. Los estudiantes comienzan a usar regularmente el álgebra matricial en clases de estática y dinámica. (Moore, 2007)

Hasta el momento, solo se han tratado temas acerca del uso y los comandos básicos de MATLAB, los cuales han servido para familiarizarse con el manejo de esta poderosa herramienta de cálculo y análisis matemático.

[Fecha]

Page 18: Residencia Jml Proyecto

14

A partir de este momento se comenzaran a trabajar temas más a fondo acerca de las herramientas que MATLAB nos brinda para la solución de problemas de algebra lineal, cálculo diferencial e integral. Se abordan temas que van desde los conceptos básicos del cálculo y como se desarrollan en MATLAB hasta la resolución de problemas aplicados.

Introducción de Matrices.Los siguientes ejemplos definen diferentes formas de introducir matrices en

MATLAB. (¡¡CUIDADO!!... los espacios en blanco tienen su significado)

a) A=[1,2,3;4,5,6;7,8,9]b) B=[1 2 3;4 5 6;7 8 9]c) C=[1 2 3

4 5 67 8 9]

d) D=C’e) E=[3 0 5 6]’f) F=[1:9]g) G=[1:9]’h) H =[0:2:12]i) I=[-1,3 SQRT(3) 6.4]

Existen funciones en MATLAB como por ejemplo: rand, magic, eye, etc. Que proporcionan una forma sencilla para crear matrices con las que se puede experimentar.

rand(n) y rand(m,n) crean matrices nxn y mxn respectivamente con entradas aleatoriamente generadas distribuidas entre 0 y 1.

Magic(n) crea una matriz cuadrada de orden n mágica (las filas y las columnas suman la misma cantidad) con entradas enteras.

a) rand(4) b) rand(2,3)c) magic(3)d) eye(6)e) eye(4,2)f) ones(6)g) ones(4,7)h) zeros(4,5)i) triu(C)

Operaciones elementales de filasSe crea dos variables en la ventana de comando A y B con los siguientes valores.

[Fecha]

Page 19: Residencia Jml Proyecto

15

figura 10. matrices A,B

Las siguientes son operaciones elementales de filas que se aplicaran a la matriz A ya introducida en la (figura 9) para ver si la información que se da es la correcta probaremos con el ejemplo número 1.

1.- A (3,:) =2*A(3,:) La tercera fila de A queda multiplicada por el escalar 2 ( 2.f3 )

2.- A (2,:)=A(2,:)/4 La segunda fila de la nueva matriz A queda multiplicada por (1/4.f2)3.- A([2 3],:)=A([3 2],:) Intercambia las filas 2 y 3 ( f2 « f3 )4.- A(3,:)=A(3,:)+3*A(1,:) A la tercera fila de A se le suma la primera multiplicada por 3(f3 + 3.f1 )

Figura 11. Resultado de la operación.

Nota: Todos estos comandos cambian la matriz A original. Si se quiere conservar la matriz original, se puede asignar otro nombre a la matriz que se va modificando con las operaciones elementales.

Por ejemplo:

C=A

C(3,:)=2*C(3,:) y así sucesivamente.

[Fecha]

Page 20: Residencia Jml Proyecto

16

Sistemas de Ecuaciones Lineales Resolveremos este ejercicio como ejemplo que con MATLAB se puede resolver

ecuaciones lineales.

Llame A a la matriz de coeficientes y B a la matriz columna de términos independientes. Forme la matriz ampliada y use la función rref para encontrar la forma escalón reducida por filas.

figura 12. Sistema de ecuación lineal.

Se muestra que este sistema tiene solución única y que la solución está contenida en la última columna de la forma reducida de la matriz ampliada.

Y así podemos resolver cualquier otro problema de ecuación lineal con MatLab.

Producto escalar y norma de un vector.Proponga dos vectores columna de 4 componentes reales v1 y v2.

El producto escalar de v1 y v2 se puede calcular mediante el producto de matrices de la siguiente manera: v1’*v2. Haga la prueba.

[Fecha]

Page 21: Residencia Jml Proyecto

17

Figura 13. Producto escalar de un vector.

La norma de un vector se puede calcular de diferentes maneras:

Proponga un vector columna v de cuatro componentes y calcule:

a) (v’*v)^(1/2) b) sqrt(sum(v.^2))c) Norm(v)

[Fecha]

Page 22: Residencia Jml Proyecto

18

Figura 14 norma de un vector.

Recta y planoIntroduzca el vector fila u=[3 0 5 4] y a continuación escriba plot(u), oprima enter.

Figura 15. Grafica con plot(u)

En este caso el comando plot representa una biyección entre los números naturales y los elementos del u, vale decir que se considera al vector como una función con dominio en los naturales y la imagen contenida en los reales. En el eje horizontal aparece una escala que va del 1 al número de elementos del vector y en el eje vertical, la porción de escala necesaria (auto-escalado) para que se puedan representar las componentes del vector dado.

El comando plot grafica entonces en este caso los puntos (1,3), (2,0), (3,5) y (4,4) y dibuja un segmento de recta entre los consecutivos

Gráfica de funciones en el planoSe desea graficar la función seno en el intervalo [-2P, 2P]. Para ello se escriben las

siguientes instrucciones:

» x=-2*pi:0.1:2*pi;» y=sin(x);» plot(x,y)

El vector x es una partición del dominio con incremento de 0.1, mientras que y es un vector con los valores que toma el seno en los puntos de esa partición.

Este conjunto de instrucciones produce el siguiente gráfico:

[Fecha]

Page 23: Residencia Jml Proyecto

19

Figura 16. Grafica generado con la función plot(x,y)

Gráficos con MATLAB en el espacioLa instrucción mesh(A) crea un gráfico tridimensional de la matriz A.

La superficie de malla está definida por las terceras componentes de los puntos sobre una cuadrícula rectangular en el plano XY.

Pruebe con los siguientes ejemplos:

mesh(eye(5))mesh(magic(10))mesh(rand(15))mesh(ones(10,15))

[Fecha]

Page 24: Residencia Jml Proyecto

20

figura 17.grafica generado con la función mesh(magic(10)).

Gráfica de funciones 2DPara dibujar la gráfica de una función se definen en primer lugar los vectores x e y

que dan la partición del rectángulo (es decir se define el dominio) con la función meshgrid.

Ejemplo 1:

[x y]=meshgrid(-2:0.1:2); z=exp(-x.^2 – y.^2); surf(x,y,z)

Este conjunto de instrucciones genera la gráfica de la función z = e-x2 - y2 z = e sobre el rectángulo [-2,2] x [-2,2] que se muestra en la figura:

[Fecha]

Page 25: Residencia Jml Proyecto

21

Figura 18. Grafica generada con la función meshgrid().

Calculo DiferencialA partir de este momento se comenzaran a trabajar temas más a fondo acerca de

las herramientas que MATLAB nos brinda para la solución de problemas de cálculo diferencial.

LímitesUn límite describe la tendencia de una función conforme va acercándose a

determinado valor. Esto quiere decir que, para el caso de una sucesión los términos se van aproximando a un único número o punto específico, en caso de que este exista. Dentro de los cientos de comandos del Symbolic Math Toolbox, de MATLAB, se cuenta con el comando limit(f,x,a), y su funcionamiento se describe a continuación:

limit (f,x,a)

Esta función, permite calcular el límite de la función f, cuando la variable x tiende a a. Si es una función de una sola variable (x) no es necesario especificarla, pudiendo teclear simplemente limit(f,a), lo cual obtendrá el límite de la función f, cuando la única variable (por ejemplo, x) tiendea a.

Ejemplo 1: Calcular:limx→∞ (1+ 1x )

x

[Fecha]

Page 26: Residencia Jml Proyecto

22

Figura 19. Resultado que nos arroja el comando limit()

El resultado que nos arroja el comando limit() es ans=exp(1). Lo cual nos indica que al evaluar la función para valores crecientes que tienden a infinito, el resultado que esta ecuación nos arroje estará cada vez más cerca del valor numérico de exp(1), es decir, 2.7183.

DiferencialesEntre los cientos de comandos incluidos en el Symboic Math Toolbox, uno de los

más importantes en este curso es el comando diff(), el cual nos permite calcular la derivada de una expresión algebraica simbólica. Este comando tiene muchas ventajas, ya que no solo nos permite derivar una función, sino que es posible aplicarla a matrices, entregándonos la matriz de las derivadas de cada término.

Diff(f,v,n)

En MATLAB es relativamente sencillo obtener la derivada simbólica de una función utilizando el comando Diff(f,x,n) dónde:

f=funciónv=variablek=orden

Para visualizarlo de manera más clara, tenemos el siguiente ejemplo:

Ejemplo 1:

[Fecha]

Page 27: Residencia Jml Proyecto

23

Encontrar: dydx

( x3+2 x2−3 x+5)

Obtenemos la primera derivada de f, con respecto a x

Figura 20. Primera derivada de f, con respecto a x.

Ahora procederemos a obtener la tercera derivada de f, para lo cual si tendremos que expresar el parámetro que indique el orden de la derivada.

>> diff(f3) 6.

Figura 21. Resultado de la tercera derivada de f.

El resultado obtenido nos muestra que la tercera derivada de éste sistema resulta ser una constante.

Aplicaciones de la derivada

Máximos y mínimosEn este apartado, trataremos diferentes formas de obtener los máximos y mínimos

de una función.

fminbnd()

[Fecha]

Page 28: Residencia Jml Proyecto

24

Existen distintos métodos para calcular los máximos y mínimos de una función en un intervalo definido. Uno de los más sencillos consiste en utilizar la función fminbnd(‘funcion’, min.max) . Donde los valores min y max definen el intervalo en el que queremos obtener el valor mínimo.

Para obtener el valor máximo se utiliza el mismo comando pero multiplicando la función por -1. Para entender mejor el manejo de este comando a continuación veremos un ejemplo:

Ejemplo:

Obtener el valor mínimo y el máximo de la función y=sin(x1+ x

) en un intervalo [-2,2].

Figura 22. Grafica de valor mínimo y máximo.

[Fecha]

Page 29: Residencia Jml Proyecto

25

Calculamos el valor de x donde el valor de y es el mínimo en el rango de -2 a 2;

Figura 23. Resultado del comando fminbnd().

El resultado obtenido, nos muestra que el valor mínimo lo encontramos cuando x=-0.6110

Para obtener el valor mínimo de la función debemos evaluarla cuando x=xmin=-0.6110, para lo cual, utilizamos la siguiente instrucción:

Figura 24. Valor mínimo de la función.

El resultado arrojado por esta instrucción, nos dice el valor de y mínimo (ymin) de nuestra función, el cual se obtiene cuando x=0.6110

Para comprobar que el valor mínimo es uno, vamos a graficar la constante y=-1. Para lo cual utilizaremos un artificio, ya que el comando ezplot tiene que estar en función de una

variable, multiplicaremos el valor mínimo por xx

(lo cual, es igual a 1, por lo tanto, no

altera el resultado). Además utilizaremos el comando hold on para que no se borre la

gráfica ya dibujada, sino que grafique sobre ella.

La grafica resultante debe Indicarnos una línea constante y=-1. La cual nos indica que nuestra función entra en contacto con ella aproximadamente cuando x=-0.6110.

Para visualizar más a detalle nuestra gráfica utilizaremos el icono ubicado en la barra de herramientas de la gráfica y haciendo clic en el punto donde se cruza la línea recta y nuestra función (entre -1 y -0.5). Después de varios clics podremos apreciar lo siguiente:

[Fecha]

Page 30: Residencia Jml Proyecto

26

Figura 25. Comprobación del valor mínimo.

Una vez comprobado el mínimo de la función, procederemos a obtener el valor máximo, para lo cual, utilizaremos el mismo comando pero multiplicando la función por -1, como se muestra a continuación:

Figura 26. Valor máximo.

El resultado obtenido nos muestra el valor de x para el cual tenemos la ymax.

Integración

Cálculo de primitivas Para el cálculo de primitivas en MATLAB utilizaremos un comando del Symbolic

Math Toolbox el cual nos permitirá realizar esta tarea de una forma muy sencilla utilizando el comando int(f,v).

int( )

[Fecha]

Page 31: Residencia Jml Proyecto

27

El comando int(f, v ) genera la integral indefinida de la función f con respecto a la variable v. En caso de no definir la variable v, es decir, escribir simplemente int(f), se integrará con respecto a la variable por default de MATLAB x. Una nota importante, es que MATLAB no nos indica la constante de integración C. Para comprender mejor el funcionamiento de este comando, se presenta el siguiente ejemplo:

Ejemplo:

Calcular. ∫sin ( x )dx .

Figura 27. Integramos nuestra función y con respecto a x.

Integrales definidas Las integrales definidas, también conocidas como integrales propias se deben

evaluar en un intervalo cerrado, finito y acotado, y cuyos extremos son los límites de la integral. Para calcular una integral definida, utilizaremos la siguiente variación del comando int().

∫a

b

f ( x )dx=Int(f,a,b) donde f es nuestra función, donde a es el límite inferior y b el límite

superior. También se puede integrar con respecto a una variable diferente de x utilizando la siguiente sintaxis int(función, variable, liminf, limsup).

Definimos x como variable simbólica, guardamos nuestra función y, graficamos la función y visualizamos la cuadricula:

Figura 28.definimos x y lo guardamos en y.

[Fecha]

Page 32: Residencia Jml Proyecto

28

Figura 29. Gráfica de la funcióny=√2 x con cuadricula visible.

Para calcular el área debajo de la curva desde 0 hasta 2, utilizamos el comando int() como se muestra a continuación:

Figura 30.El área obtenida debajo de la curva.

Aplicaciones

Cálculo de áreas Al calcular el área de una función no negativa en un intervalo [a,b] se interpreta

geométricamente como el área delimitada por la gráfica de la función, el eje de las abscisas y los límites a y b.

Para determinar el área debajo de una curva tenemos que calcular la integral definida de la función en el intervalo [a,b]. En este capítulo nos enfocaremos en visualizar el área debajo de la curva en un plot.

Además se tratara un ejemplo para encontrar el área representada por el cruze de dos funciones diferentes.

Ejemplo:

Calcular y mostrar el área bajo la curva de la función: ∫0

2

√2∗x

[Fecha]

Page 33: Residencia Jml Proyecto

29

Para calcular el área bajo la curva, obtenemos la integral definida de la función desde 0 hasta 2, como se muestra a continuación:

Figura 31. Gráfica de la función integrada con cuadricula visible.

Para visualizar el área bajo la curva, damos clic en el menú View de Figure 1 y seleccionamos Property Editor.

Al abrir el Property Editor aparecerá una pantalla en la parte inferior de la ventana, y podremos seleccionar los distintos elementos de la gráfica. En esta ocasión, seleccionaremos la línea azul.

Figura 32. Propiedades de Property Editor.

En el Combo box llamado Plot Type podemos ver seleccionada la opción Line, damos clic, y seleccionamos Area.

[Fecha]

Page 34: Residencia Jml Proyecto

30

Podemos apreciar que una vez cambiado el tipo de gráfica, podremos apreciar claramente el área bajo la curva que calculamos con la integral definida.

Figura 33. Vista del área debajo de la curva al cambiar el Plot Type a tipo Area.

Volumen de un cuerpo de revolución Los sólidos de revolución son cuerpos creados a partir de la rotación de una función

bidimensional sobre uno de sus ejes.

Ejemplo:

Calcular el volumen del solido generado al hacer girar la función y=2x. Mostrar la gráfica de la función en el plano X-Y y el sólido en el intervalo [0, 2].

Figura 34. Resultado de solido de revolución.

[Fecha]

Page 35: Residencia Jml Proyecto

31

Figura 35. Solido de revolución generado al girar la función respecto al eje x

Longitud de arcos de curvas Otra de las aplicaciones del cálculo integral y diferencial, consiste en determinar la

longitud de arco de una curva. Siendo la curva y=f ( x )una ecuación derivable podemos obtener la longitud del arco de la curva en el intervalo [a,b] utilizando la siguiente expresión:

l=∫a

b

√1+( f '(x ))2

Ejemplo:

Graficar la función f=√1−x2 y determinar la longitud de arco de la curva en el intervalo [0,1].

Declarar x como variable simbólica, ingresamos la función f, a y b y graficamos, obtenemos la primera derivada de la función, simplificar la parte interna de la raíz (1+der 2) luego al simplificar la ecuación dentro de la raíz obtenemos

longitud=∫0

1

√ −1x2−1

dx . Como se muestra en la siguiente figura.

[Fecha]

Page 36: Residencia Jml Proyecto

32

Figura 36. Gráfica y resultado de la función.

[Fecha]

Page 37: Residencia Jml Proyecto

33

Resumen de los comandos de MatLab:Caracteres especiales, comandos y funciones (Moore, 2007).

Caracteres especiales= Instrucción de asignación[ Usado para formar vectores y matrices] Ver [( Precedencia aritmética) Ver (. Punto decimal... La instrucción continua en la siguiente línea, Separa índices y argumentos de función; Acaba filas, suprime la impresión% Comentarios: Indexación, generación de vectores! Ejecuta instrucción del sistema operativo

Valores Especialesans Respuesta cuando no se asigna la expresióneps Precisiónpi πi,j √−1inf ∞NaN No Número (Not-a -Number)clock Relojdate Fechaflops Número de operacionesnargin Número de argumentos de entrada de una funciónnarout Número de argumentos de salida de una función

Archivos de discochdir Cambiar de directoriodelete Borrar archivodiary Diario de la sesióndir Directorio de archivos en el discoload Cargar variables de un archivosave Guardar variables en un archivotype Mostrar función o archivowhat Mostrar archivos .m en el discofprintf Escribir en un archivopack Compactar memoria vía save

[Fecha]

Page 38: Residencia Jml Proyecto

34

Matrices especialesCompan Compañeradiag Diagonaleye Identidadgallery Esotéricahadamard Hadamardhankel Hankelhilb Hilbertinvhilb Inversa de Hilbertlinspace Vectores igualmente espaciadoslogspace Vectores logarítmicamente espaciadosmagic Mágica cuadradameshdom Dominio para puntos de mallaones Matriz constante de unospascal Pascalrand Elementos aleatoriostoeplitz Toeplitzvander Vandermondezeros Matriz de ceros

Manipulación de matricesrot90 Rotaciónfliplr Invierte el orden de las columnasflipud Invierte el orden de las filasdiag Diagonaltril Parte triangular inferiortriu Parte triangular superiorreshape Reordena una matriz en otra’ Traspuesta: Convierte una matriz en una columna simple

Funciones lógicas y relacionalesany Condiciones lógicasall Condiciones lógicasfind Encuentra índices de valores lógicosisnan Detecta NaNsfinite Detecta infinitosisempty Detecta matrices vacíasisstr Detecta variables de cadenastrcomp Compara variables de cadena

Control de flujoif Ejecuta instrucciones condicionalmente

[Fecha]

Page 39: Residencia Jml Proyecto

35

elseif Usado con ifelse Usado con ifend Termina if, for, whilefor Repite instrucciones un número de veceswhile Repite instrucciones mientras una sentencia lógica sea verdaderabreak Sale de los bucles for y whilereturn Salida desde funcionespause Pausa hasta que se pulse una tecla

Texto y cadenasabs Convierte cadena en valores ASCIIeval Evalúa texto como instruccionesnum2str Convierte números en cadenasint2str Convierte enteros en cadenassetstr Indicador de cadenassprintf Convierte números en cadenasisstr Detecta variables de cadenastrcomp Compara variables de cadenahex2num Convierte cadenas hexadecimales en n´umeros

Programación y archivos .minput Obtiene números desde el tecladokeyboard Llamada al teclado como si fuera un archivo .merror Muestra mensaje de errorfunction Define funcióneval Evalúa texto en variablesfeval Evalúa función dada por una cadenaecho Permite mostrar las instrucciones en pantallaexist Comprueba si las variables existencasesen Sensibilidad a las mayúsculasglobal Define variables globalesstartup Archivo de inicializacióngetenv Accede a una variable de entornomenu Genera un menúetime Tiempo gastado

Ventana alfanuméricaclc Limpia pantallahome Mueve cursor al comienzoformat Establece el formato de salidadisp Muestra matriz o textofprintf Imprime número formateadoecho Permite la muestra de las instrucciones

Gráficosplot Grafico lineal en el plano XY

[Fecha]

Page 40: Residencia Jml Proyecto

36

loglog Gráfico logarítmico en el plano XYsemilogx Gráfico semilogarítmicosemilogy Gráfico semilogarítmicopolar Gráfico polarmesh Superficie de malla tridimensionalcontour Plano de contornosmeshdom Dominio para gráficos de superficiebar Gráficos de barrasstairs Gráficos de escaleraserrorbar Añade barras de errores

Anotación Graficatitle Tituloxlabel Anotación en eje xylabel Anotación en eje ygrid Dibuja cuadriculadotext Posiciona un texto arbitrariamentegtext Posiciona un texto con el ratónginput input grafico

Control de la ventana gráficaaxis Escalado manual de ejeshold Mantiene gráfico en pantallashg Muestra la pantalla gráficaclf Limpia la pantalla gráficasubplot Divide la pantalla gráfica

Funciones elementalesAbs Módulo complejoangle Argumento complejosqrt Raíz cuadradareal Parte realimag Parte imaginariaconj Conjugado complejoround Redondeo al entero más cercanofix Redondeo hacia cerofloor Redondeo hacia -∞ceil Redondeo hacia +∞sign Función signorem Restoexp Exponencial base elog Logaritmo naturallog10 Logaritmo base 10

Funciones Trigonométricassin Senocos Cosenotan Tangente

[Fecha]

Page 41: Residencia Jml Proyecto

37

asin Arcosenoacos Arcocosenoatan Arcotangenteatan2 Arcotangente de x/ysinh Seno hiperbólicocosh Coseno hiperbólicotanh Tangente hiperbólicaasinh Arcoseno hiperbólicoacosh Arcocoseno hiperbólicoatanh Arcotangente hiperbólica

Funciones especialesbessel Función de Besselgamma Función gammarat Aproximación racionalerf Función de errorinverf Inversa de la función de errorellipk Integral completa elíptica de primera especieellipj Integral elíptica de Jacobi

Descomposiciones y factorizacionesBalance Forma equilibradabacksub Sustitución regresivacdf2rdf Convierte diagonales complejas en diagonales realeschol Factorización de Choleskyeig Autovalores y autovectoreshess Forma de Hessenberginv Inversalu Factores de la eliminación gaussianannls Mínimos cuadrados con restriccionesnull Base ortonormal del núcleoorth Base ortonormal de la imagenpinv Pseudoinversaqr Factorizaci´on QRqz Algoritmo QZrref Forma escalonada reducida por filasschur Descomposición de Schursvd Descomposición en valores singulares

Condicionamiento de matricescond Número de condición en la norma 2norm Norma 1, norma 2, norma de Frobenius, norma ∞rank Rangorcond Estimación de la condición (inverso)

Funciones matriciales elementalesexpm Matriz exponenciallogm Matriz logaritmo

[Fecha]

Page 42: Residencia Jml Proyecto

38

sqrtm Matriz raíz cuadradafunm Función arbitraria de matrizpoly Polinomio característicodet Determinantetrace Trazakron Producto tensorial de Kronecker

Polinomiospoly Polinomio característicoroots Ra´ıces de polinomios - método de la matriz compañeraroots1 Raíces de polinomios - método de Laguerrepolyval Evaluación de polinomiospolyvalm Evaluación de polinomio matricialconv Multiplicacióndeconv Divisiónresidue Desarrollo en fracciones parcialespolyfit Ajuste por un polinomio

Análisis de datos por columnasmax Valor máximomin Valor mínimomean Valor mediomedian Medianastd Desviación típicasort Ordenaciónsum Suma de elementosprod Producto de elementoscumsum Suma acumulativa de elementoscumprod Producto acumulativo de elementosdiff Derivadas aproximadashist Histogramascorrcoef Coeficientes de correlacióncov Matriz de covarianzacplxpair Reordena en pares complejos

Tratamiento de señalesabs Modulo complejoangle Argumento complejoconv Convolucióncorrcoef Coeficientes de correlacióncov Covarianzadeconv Deconvoluciónfft Transformada rápida de Fourierfft2 FFT 2-dimensionalifft FFT inversa

[Fecha]

Page 43: Residencia Jml Proyecto

39

ifft2 FFT inversa 2-dimensionalfftshift Cambia las dos mitades de un vector

Integración numéricaquad Función de integración numéricaquad8 Función de integración numérica

Solución de ecuaciones diferencialesode23 Método Runge-Kutta de orden 2/3ode45 Método Runge-Kutta-Fehlberg de orden 4/5

Ecuaciones no lineales y optimizaciónfmin Mínimo de una función de una variablefmins Mínimo de una función de varias variablesfsolve Solución de un sistema de ecuaciones no lineales

(ceros de una función de varias variables)fzero Cero de una función de una variable

Interpolaciónspline Spline cúbicotable1 Genera tablas 1-Dtable2 Genera tablas 2-D

VI. RESULTADOS

VII. CONCLUSIÓN Y RECOMENDACIONES

VIII. COMPETENCIAS DESARROLLADAS

[Fecha]

Page 44: Residencia Jml Proyecto

40

IX. APARTADO DE AYUDA

X. GLOSARIO

XI. BIBLIOGRAFÍA

Johnson, R. K. (2011). The Elements of MATLAB Style. 32 Avenue of the Americas, New York, NY 10013-2473, USA: Cambridge University Press.

Montbrun, O. (1997). Obtenido de matlab: http://www.eldish.net/hp/automat/matlab.htm

Moore, H. (2007). MATLAB para Ingenieros . Mexico: PEARSON EDUCACIÓN.

[Fecha]