La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso Introductorio de MatLab Nelio Pastor Gómez.

Presentaciones similares


Presentación del tema: "Curso Introductorio de MatLab Nelio Pastor Gómez."— Transcripción de la presentación:

1 Curso Introductorio de MatLab Nelio Pastor Gómez

2 Sistemas de Cómputo Hardware Elementos físicos que constituyen una computadora. –Dispositivos de entrada. –Dispositivos de salida. –Unidad Central de Procesamiento –Unidad Principal Almacenamiento –Unidad Secundaria de Almacenamiento Software Conjuto de programas diseñados para operar una computadora. –Software de Sistema. –Software de Aplicaciones. Programa: Conjunto de instrucciones que hacen funcional una computadora.

3 Lenguajes de Programación Lenguaje de máquina. –Instrucciones directas para la computadora –se expresan en la unidad mas pequeña (bit 1 ó 0). Lenguaje ensamblador. –Conocido también como lenguaje de bajo nivel. –Simplifican el proceso de programación en lenguaje máquina –Las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos. Lenguaje de alto nivel. –Las instrucciones se escriben con palabras similares a los lenguajes humanos (generalmente en ingles).

4 Resolución de Problemas por Computadora Análisis del problema.- Se da una clara definición del problema, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Diseño del Algoritmo.- Aquí se determina como hara el programa la tarea solicitada. –El diseño se realiza aplicando el principio de modularidad. Codificación.- Es la escritura en lenguaje de programación de la representación del algoritmo diseñado. Compilación y ejecución.- Una vez que se ha codificado el algoritmo se introduce en memoria y se almacena en disco. Esta operación se realiza con un programa editor. El programa fuente es traducido a lenguaje de máquina mediante un compilador

5 Introducción a MatLab Para visualizar MatLab podemos pensar en el como si fuera una calculadora totalmente equipada. Al igual que una calculadora básica puede realizar matemáticas simples tales como: sumas, restas, divisiones y multiplicaciones. Al igualque una calculadora científica, puede ralizar operaciones con números complejos, raices cuadradas, logaritmos y operaciones trigonométricas. Análogamente a una calculadora programamble puede almacenar y recuperar datos, puede crear, ejecutar y guardar secuencias de órdenes para automatizar el cálculo de ecuaciones importantes; puede hacer comparaciones 1ógicas y controlar el orden en el que se ejecutan las órdenes. permite representar gráficamente los datos en una gran variedad de formas. ejecuta álgebra matricial, manipula polinomios, integra funciones, manipula simbólicamente ecuaciones, etc.

6 Características Básicas Al ejecutarse, MATLAB crea una o más ventanas La cadena de caracteres >> es el indicativo de petición de órdenes de MATLAB

7 Ejemplo.- Homero compra 4 manzanas por 25 centavos cada una, 6 plátanos por 22 centavos cada uno y 2 melones por- 99 centavos cada uno. Cuando llega a casa, Marga le pregunta ¿ cuántas piezas de fruta ha comprado y cuánto gastó? Si la sentencia es demasiado larga para que quepa en una línea, se le agrega una elipsis; una elipsis consistente en tres puntos seguido por Enter e indica que la sentencia continúa en la línea siguiente.

8 Operaciones básicas Suma, a+b Resta, a-b Multiplicación, a*b * 5*3 División, a/b / 5/3 Potencia ^ 5^3 Operación Símbolo Ejemplo Las expresiones se evalúan de izquierda a derecha. El orden de precedencia, es el siguiente: 1.- Potencia. 2.- Multiplicación y División. 3.- Suma y Resta.

9 Almacenando y recuperando datos. MatLab puede guardar y recuperar datos almacenados en discos. Para esto se usan las opciones Load Workspace ó Save Workspace.

10

11 Acerca de las Variables Las Variables son sensibles a las mayúsculas.- fruta, Fruta, FruTa, FRUTA Las Variables pueden contener hasta 19 caracteres.- Mas allá de 19 se ignoran Las variables deben comenzar con una letra seguida por cualquier número de letras, digitos ó guiones de subrayado r1234_ algo Los caracteres de puntuación no son válidos.

12 La ínstrucción clear borra las varibles del espacio de trabajo. Si se teclea seguido de un nombre de variable; simplemente borra esa variable. Si se teclea sin ningun nombre de variable borra todas las variables del espacio de trabajo. ¡clear no pide confirmacion de orden! ¡Las Variables no se pueden recuperar!

13 Características Científicas Al igual que las calculadoras científicas, MatLab ofrece muchas funciones cumunes a las matemáticas, a la Ingeniería y a las ciencias. La mayoria de estas funciones se utilizan de igual forma en que se escriben matemáticamente. Mientras que una calculadora puede trabajar en grados o radianes MatLab sólo opera en radianes, donde 2 es igual a 360 grados. La orden help es la forma más simple de conseguir ayuda en MatLab Podemos escribir help seguido del tema que deseamos investigar ó bien una ayuda más general en caso de solo teclear help. En este ejemplo se calcula el ángulo de donde la función Seno tiene un valor de:

14 Características de Graficación de MatLab: Se utiliza el comando plot(arg) y como argumento la funcion que se desea graficar. Array simples.- Para crear un array todo lo que tiene que hacer es iniciar con un corchete de apertura, introducir los valores separados por espacios o comas y luego cerrar con un corchete de cierre.

15 Construcción de Arreglos y Matemática sencilla Los argumentos de esta función se describen mediante: linspace(valor inicial, valor final, num. de elementos) Las operaciones matemáticas sencillas entre escalares y arreglos siguen la misma interpretacion natural. La suma, resta multiplicación y división por un escalar simplemente aplica la operación a todos los elementos del arreglo.

16 Separar elementos por puntos y comas especifíca elementos en filas diferentes. El operador transpuesta de MatLab es: Este operador intercambia los renglos y las columnas. La orden plot genera una gráfica: plot(variable_independiente, varible dependiente, puntos)

17 Archivos script MatLAb responde a cualquier instrucción en el orden en que esta se le indique. Para problemas simples, introducir las instrucciones en la línea de ordenes de MatLab es rápido. Sin embargo cuando aumenta el número de ordenes o se desea cambiar el valor de una ó más varianbles y reevaluar una serie de ordenes, escribir todo en la linea de ordenes de MAtLAb puede resultar tedioso. MatLab Proporciona una solución para este problema. Permite colocar ódenes de Matlab en un archivo de texto El contenido de este archivo se evalúa como si se hubiera escrito en la linea de ordenes de MatLab. Estos archivos se conocen como scripts o archivos M.

18 Creación de archivos M Para crear un archivo M escoja New del del Menu File. Y seleccione M-file.

19 Guardando el script Para guardar el script en disco se elije Save en el menú File.

20 Ejecutando un script Una vez que este script esta guardado en disco como un archivo M. MatLab ejecutará las ordenes contenidas en este archivo simplemente escribiendo el nombre de este archivo Note que ejemplo no es una variable en el espacio de trabajo de MatLab MatLab abre el archivo, si lo encuentra, y ejecuta las instrucciones en el orden en que esten escritas. Una cadena de caracteres es un texto delimitado por comillas simples ()

21 Tomando Decisiones: Controles de Flujo t=1 hasta n Los Lenguajes de programación ofrecen características que permiten controlar el flujo de ejecución de ordenes basadas en estructuras de toma de decisiones. El control de flujo es muy poderoso ya que permite que cálculosa pasados influyan sobre operaciones futuras. MatLab ofrece tres estructuras para la toma de decisiones o de control de flujo, y son: bucles for, bucles while y estructuras if-else- end. Bucles for.- n? x(t)=sin(t*2pi/n) plot(x) grid on agrega titulos Fin del programa La sentencia 1:n es una sentencia de creación de vectores. Cualquier vector válido en MatLab es válido en el ciclo for %otra forma de escribir el ciclo for vector=[ ] ; for t=vector, x(t)=sin(t*2*pi/10; end

22 Anidamiento de Bucles vec1=linspace(1,5,5) vec2=linspace(5,1,5) A(n,m)=n^2+m^2 n=vec1 m=vec2 disp(n) Fin del programa

23 Mientras t<=num x(t)=sin(t*2pi/n) Graficar(x) crea la rejilla agrega titulos Fin del programa Mientras num<20 num=num+1 num=0 F V F V Ciclos while Mientras un bucle for evalúa un grupo de órdenes un número fijo de veces, un bucle while evalúa un grupo de órdenes un número idefinido de veces. El formato general para el ciclo while es: while expresión, sentencias; end

24 Ciclos for, while expresión sentencias F V Fin del ciclo while expresión, : sentencias; : end for var=expresión, : sentencias; : end Expresión Usualmente de la forma: variable1 operador variable2 variable=expresión En la practica el formato es: variable=val_ini:incremento:val_fin Operadores: Relacion Lógicos == & < | > ~ =< => ~=

25 Estructura if-else-end Manzanas>5? Aplica un 20% de desc. Aplica un 5% de desc. Despliega el costo total Muchas veces, secuencias de ordenes deben evaluarse condicionalmente básandose en un test relacional. En MatLab esta lógica se proporciona por alguna variación de una estructura if-else-end: no si Precio=$0.25 Cuantas manzanas? Costo=manzanas*0.25 Las sentencias entre el if y el else se ejecutan si la expresión es verdadera. En otro caso se ejecutan las que estan entre el else y el end

26 Son f(a)y f(b) del mismosigno? No hay raices Hay una raiz al menos Fin no si funcion? a,b? Graficar la funcion evalua la funcion en los limites a y b. Verifica los signos de la funcion en a y en b f(a)=0? no si f(b)=0? Raíz en a Raíz en b no si Anidamiento de la estructura IF-ELSE

27 Resumen for x=array sentencias end Un bucle for en cada iteración asigna x a la columna i-ésima de array y ejecuta las sentencias. sentencias while expresión sentencias end Un bucle while ejecuta las sentencias mientras todos los elementos de Expresión son verdaderos. sentencias while end v f if expresión sentencias end Una estructura simple if-end donde las sentencias se ejecutan si todos los elementos en expresión son verdaderos. expresión sentencias sentecias2 If expresión sentecias1 else sentencias2 end Una estructura if-else-end tiene dos opciones. El grupo de ordenes1 se ejecuta si expresión es verdadera. En otro caso se ejecutan sentencia2. expresion sentencias1 fin si no si no

28 a,b,f sa=signo(f(a) sb=signo(fb) sa~=sb f(m)>=0.01 f(m) sm=signo de f(m) sm==sa sa=sm a=m Sb=sm b=m Despliega la raíz fin No hay raices entre a y b si no si no Diagrama a bloques del programa para la búsqueda de raices usando el método de las bisecciones

29 Manejo de Matrices Ejemplo: Homero compra una manzana, dos plátanos, y tres melones y paga $3.66. Marga compra cuatro manzanas, cinco platanos y seis melones y paga $8.04 A Bart no le gustan los melones así que compra siete manzanas, ocho platanos y ningún melón y paga $3.51. ¿Cual es el precio individual de cada fruta? Al igual que en la captura de vectores se utilizan los corchetes rectangulares para capturar matrices. El punto y coma (;) se utiliza para delimitar los renglones de la matriz. Para resolver este problema, se escribe cada sentencia como una ecuación matemática. Haciendo x 1 precio por manzana, x 2 el precio por plátano y x 3 el precio por melón Historicamente, MatLab fue escrito para simplificar los cálculos de álgebra líneal que aparecen en muchas aplicaciones. En el corazón de muchas aplicaciones está el problema de resolver un conjunto de ecuaciones lineales. Al igual que la función para cálcular el rango deuna matriz. MatLab integra la funcion para calcular el Determinante de una Matriz: por ejemplo: det(A)

30 Manipulación Matricial Una vez que se forman las matrices, MatLab proporciona mecanismos poderosos para insertar, extraer y manipular subconjuntos de ellas identificando los subíndices de interés. Considere los siguientes ejemplos: Cambia a nueve el elemento en la tercera fila y en la tercer columna Crea una matriz uniendo la matriz A con el vector b Despliega la segunda columna de la matriz A Despliega el segundo renglón de la matriz A Aquí los dos puntos como argumento significa tomar todos los elementos de la columna ó del renglon según corresponda. Cuando se asigna a una parte de una matriz la matriz vacia, lo asignado se suprime, originando que la matriz colapse a lo que permanece

31 En aquellos casos donde se desconoce el tamaño de una matriz o vector, MatLab proporciona dos funciones de utilidad size y length. Las variables del lado izquierdo de la expresión se conocen como argumentos de salida. Las variables ó constantes entre parentesis del lado derecho de una función ó comando se conocen como argumentos de entrada.

32 Consistencia de Ecuaciones y Existencia de Soluciones El primer paso en la solución de Ecuaciones lineales es formar La Matriz aumentada. Como Primer paso declaramos la matriz de coeficientes A a continuación declaramos el vector de terminos independientes Para generar la matriz aumentada se une la matriz de coeficientes y el vector de terminos independientes como se muestra en el ejemplo

33 Existencia de Soluciones Existe solución por que la matriz de coeficientes es no singular La solución es única por que los rangos de A y A son iguales Ejercicio: Realizar el Script en archivo.m que relize las operaciones anteriores.

34 Algorítmo de la Eliminación Gaussiana La eliminación Gaussiana se realiza a través de de una serie de operaciones elementales las cuales no alteran la solución del sistema de acuaciones. El método esta basado en el principio de convertir el conjunto de n ecuaciones con n incognitas en una forma triangular superior, cuya solución es la misma del sistema original de ecuaciones. Donde U es la matriz triangular superior Una vez lograda la triangularización, la solución se lleva a cabo mediante la sustitución hacia atrás iniciando con la n-esima variable y terminando con la variable 1. En general el procedimiento de la eliminación de Gauss aplicada a la matriz aumentada de nx(n+1) se resume en tres formulaciones matemáticas; Inicialización, Eliminación y Sustitución hacia atrás. De esta forma, tenemos tres formulas matemáticas para programar: Formula de Inicialización: Con j=1,2,...,n j=n+1 i=1,2,...,n

35 Formula de eliminación: j=n+1, n,..., k k=1,2,...,n-1 i=k+1,k+2,...,n ;; Formula de sustitucion hacia atrás: i=n-1,n-2,...,1

36 (c,d) =inewton(x,y) n=length(x) d=zeros(n,n) d(:,1)=Y j 2:n k j:n c=d(n,n) k (n-1):-1:1 A A c=conv(c,poly(x(k)) m=length(c) c(m)=c(m)+d(k,k) fin Algoritmo de interpolación Utilizando polinomios de Newton La forma para llamar la función es: (c)=inewton(x,y); donde X es el vector de valores para X e Y son los correspondientes valores de f(x).

37 [c,L]=lagrange(x,y) n1=length(x) n=n1-1 L=zeros(n1,n1) k 1:n+1 v=1 j 1:n+1 k~=j L(k,:)=v c=y*L fin Cálculo de los coeficientes del polinomio de interpolacion de Lagrange. Se deben definir primeramente los vectores X,Y; como se muestra a continuación: La figura Muestra la definición de los vectores de entrada y la sintaxis para ejecutar la función. Los valores de los coeficientes del polinomio se guardan en la variable c y están formados en orden descendente de las potencias del polinomio. si no

38 k 2:2:n-2 k 1:2:n-1 fin Integración Numérica Regla de Simpson con corrección final

39 En Shell Directories selec. General En Shell Files Selec. Blank Document Seleccionamos New en el menu File.. Cómo crear un nuevo documento.

40 Para alternar la escritura entre texto y expresiones matematicas se puede presionar la combinación de teclas Ctrl+M o bien el boton de T (M) en la barra de botones. Para evaluar una expresion matemática utilizamos las opciones del menú Maple

41 Esta opción nos permite insertar matrices y vectores Ejercicio.- Crear un vector columna y un vector renglón, de por lo menos 4 elementos.

42 Como introducir los datos Se crea un vector de tamaño n+1, con n igual al número de Ecs. de restricción. En primer elemento del vector será la función objetivo, la cual se escribirá sin incluir la igualdad. Los elementos subsiguientes serán las ecuaciones de restricción escritas completamente. Para encontrar la solucion Se ubica el cursor en la posición inmediata a la derecha del vector de datos. En el menú Maple seleccionamos el submenú Simplex. Dentro de este menú se elige la opción que resuelva cada caso particular. Solución de problemas de Programación Lineal. (caso de dos variables).

43 Para graficar las ecuaciones de restricciones ubicamos en la posición inmediata a la derecha de una de las ecuaciones que deseamos graficar; En el Menu Maple seleccionamos Plot 2D, dentro de este submenú elegimos implicit.

44 Para agregar las demás ecs. Hacemos un click en el recuadro inferior derecho dela gráfica. Se despliega el menú de propiedades, donde damos un click en el boton de agregar elemento. Dentro de esta ventana de dialogo podemos realizar varias operaciones de configuración de la gráfica, por ejemplo, definir el dominio de las variables que se están graficando.

45 Evaluación Hacer un script que resuelva la ecuación de segundo orden de la forma Cuya solución es: El programa deberá pedir los datos correspondientes a las variables a,b y c y calcular el valor de x

46


Descargar ppt "Curso Introductorio de MatLab Nelio Pastor Gómez."

Presentaciones similares


Anuncios Google