1 / 87

Los métodos numéricos antes de la computadora: El ábaco Los nudos incas Los nomogramas

Técnicas mediante las cuales los modelos matemáticos son resueltos usando solamente operaciones aritméticas, … tediosos cálculos aritméticos. Las computadoras son máquinas “tontas” que sólo hace lo que se le ordena; los tediosos cálculos numéricos los hacen muy rápido y muy bien, sin fastidiarse.

ban
Download Presentation

Los métodos numéricos antes de la computadora: El ábaco Los nudos incas Los nomogramas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Técnicas mediante las cuales los modelos matemáticos son resueltos usando solamente operaciones aritméticas, … tediosos cálculos aritméticos. • Las computadoras son máquinas “tontas” que sólo hace lo que se le ordena; los tediosos cálculos numéricos los hacen muy rápido y muy bien, sin fastidiarse. • Por eso, para el ingeniero moderno, los métodos numéricos implican: • El uso de calculadoras graficadoras; • El manejo de hojas de cálculo en PC; • La programación en lenguaje “C”, “Basic” o “Fortran” • La utilización de software matemático especializado: • “Maple”, • “MatLab”, • “MathCad”, • “Mathematica”.

  2. Los métodos numéricos antes de la computadora: • El ábaco • Los nudos incas • Los nomogramas • La regla de cálculo

  3. ESTE CURSO DE MÉTODOS NUMÉRICOS • El propósito del curso será estrictamente de carácter formativo: disciplina mental, que estimula el desarrollo de algunas habilidades del pensamiento. Encontraremos, juntos, los elementos para evaluar objetivamente si tal propósito se logra y en qué medida. • Los contenidos informativos, serán aprendidos, no para aprobar cada examen, sino para apropiarse de lo esencial, del conocimiento fundamental que permita al estudiante y al futuro ingeniero disponer de herramientas prácticas que le permitan resolver problemas modelados matemáticamente. • Habrá que garantizar el dominio de los conceptos matemáticos fundamentales, para que la asimilación promedio, a mediano y largo plazos, sea significativa, para que esos conceptos se les quedan almacenadas en la memoria e impregnadas en las células de por vida, para ser usadas siempre, cuando lo requieran.

  4. El alumno tendrá grandes posibilidades de aprendizaje por descubrimiento, pues el profesor actuará como facilitador en el proceso de aprendizaje, reforzando, respondiendo y orientando, y no asumirá el papel tradicional de transmisor único de toda la información hacia el alumno. • Para garantizar su éxito en este curso, el alumno será el responsable de su propio aprendizaje, aplicado, autosuficiente y esforzado, como actor principal del proceso educativo. • Únicamente haremos algunas definiciones formales y solo los teoremas más importantes serán demostrados con rigor. • Exploraremos varias técnicas y métodos para resolver un mismo tipo de problema, aunque no para mecanizarlos, sino para compararlos entre si, e inducir al alumno a distinguir diferencias entre ellos y a descubrir otras posibilidades.

  5. Repaso histórico • Antigüedad: contaban con piedrecillas; en latín, “calculus” significa piedrecilla. • Egipcios y babilonios: generaron procedimientos prácticos de cálculo, relativamente evolucionados, en agrimensura, metrología y astronomía. • Griegos. Integraron las reglas empíricas en un sistema teórico, pero su sistema de numeración lo limitaba al uso de regla y compás. • Siglo XVI: Los árabes introdujeron a Europa la numeración india en plena expansión cultural renacentista, se desarrollaron el álgebra simbólica y los logaritmos. • Siglo XVII: Descartes creó la geometría analítica, que permitió el cálculo numérico exacto, sentando las bases del cálculo infinitesimal, creado por Newton y Leibniz, y origen del análisis matemático moderno. • Siglo XX: El cálculo numérico y los métodos de cálculo aproximado han recibido un gran impulso, soportados ahora por poderosos equipos y programas de cómputo.

  6. Antecedentes • Los métodos numéricos tienen, al menos, unos 2,500 años de historia • Ya en el siglo VI a.C., Tales de Mileto y Pitágoras de Samos se percataron de la importancia del estudio de los números, para poder entender al mundo. • Demócrito calculó el volumen de pirámides y conos, considerándolos formados por un numero infinito de secciones de grosor infinitesimal. • Eudoxo y Arquímedes utilizaron el método del agotamiento para encontrar el área del círculo.

  7. Sistemas numéricos. • Los números son los mismos en todos lados. • Sus nombres y su simbología podrán ser diferentes, pero tienen el mismo significado. • Los pueblos primitivos aprendieron a contar con los dedos, con los que no podían alcanzar cifras elevadas, pero si las suficientes para satisfacer sus necesidades. • Si querían recordar algunos números, hacían incisiones en un palo o marcas en una roca.

  8. Hoy en día al usar la computadora para obtener soluciones se pueden aproximar los cálculos sin tener que recurrir a técnicas lentas, aunque las soluciones analíticas son muy valiosas ya que proporcionan una mayor comprensión. IMPORTANCIA DE LOS METODOS NUMERICOS Los métodos numéricos son herramientas poderosas para la solución de problemas, aumentando la habilidad de quien los estudia para resolver problemas. En el transcurso de la carrera se usaran software disponibles comercialmente. Pero el uso inteligente de estos depende del conocimiento de la teoría básica de cada uno de ellos. Hay problemas que no se pueden plantear con software comerciales, entonces si conoces los métodos y la programación tendrán la capacidad de diseñar sus propios programas.

  9. El uso de los métodos numéricos en ingeniería no es trivial, pues se requiere elegir entre: • Varios métodos numéricos alternativos para cada tipo de problema • Varias herramientas tecnológicas • Existen diferentes maneras de abordar los problemas entre una persona y otra, que depende de: • El nivel de participación en el modelado matemático del problema • Ingenio y creatividad para enfrentarlo y resolverlo • La habilidad para elegir, conforme a criterio y experiencia

  10. Tipo de problema a resolver: • Raíces de ecuaciones • Sistemas de ecuaciones lineales simultáneas • Interpolación, diferenciación e integración • Ecuaciones diferenciales ordinarias • Ecuaciones diferenciales parciales • Otros (no contemplados en este curso; vistos en otras asignaturas) • Equipo: • Supercomputadora • Computadora personal • Calculadora graficadora • Calculadora científica de bolsillo • Regla de calculo Las herramientas de cómputo son máquinas “tontas” que sólo hacen lo que se le ordena; sin embargo, los tediosos cálculos numéricos los hacen muy rápido y muy bien, sin fastidiarse.

  11. Tipo de problema Método numérico Modelo matemático

  12. Equipo • Computadora • Calculadora

  13. “Software” • Desarrollo de programas: • lenguaje “C” • “Basic” • “Fortran” • Otro. • Utilización de software matemático: • “Maple”, • “MatLab”, • “MathCad”, • “Mathematica”. • El manejo de hojas de cálculo en PC: • Excel • Lotus • Manejo expedito de una calculadora graficadora

  14. Software • Desarrollo de programas • Software matemático • Hoja de cálculo • Calculadora graficadora

  15. Método numérico: no existe el mejor, pero si los favoritos • Amplitud de aplicación • Amigabilidad • Estabilidad • Rapidez de convergencia • Número de valores iniciales requeridos • Se ha de tomar en cuenta, además • Complejidad del modelo • Turbulencia de los datos • Ingenio y creatividad

  16. Los pasos para la resolución de un problema son: Diseño del algoritmo que describe la secuencia ordenada de pasos. Expresar el algoritmo con un programa en un lenguaje de programación adecuado. Ejecución y validación del programa por la computadora. Los algoritmos son independientes tanto del lenguaje de programación en que se expresen como de la computadora que los ejecute. En cada algoritmo se puede expresar diferente pero deberá tener el mismo resultado. También los algoritmos son particularmente útiles en el caso de problemas sencillos o para especificar las tareas de una larga programación.

  17. ALGORITMOS Las técnicas numéricas se acompañan por material relacionado con su implementación efectiva en computadoras. Se proporcionan algoritmos en métodos. Un algoritmo es un método para resolver un problema. Es la secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la resolución de un problema. Resolución de un problema Problema Diseño del algoritmo Programa de computadora

  18. TIPOS DE DATOS Un dato es la expresión general que describe los objetos con los cuales opera una computadora. Los datos se clasifican en: simples (sin estructura) y compuestos (estructurados) • Numéricos (integer, real), • Lógicos (boolean), • Carácter(char, string). Simples DATOS Compuestos • Array, registro archivo, conjunto, cadena. • Estáticos • dinámicos • Lista, lista enlazada, árbol, grafo.

  19. SE verán los datos simples: • DATOS NUMERICOS. Es el conjunto de valores numéricos. • Se pueden presentar en: • Tipo numérico entero (integer). • Tipo numérico real (real) • Enteros: es un subconjunto finito de los números enteros. (5,6,4,20,1340,etc) • Se denominan en ocasiones números de punto o coma fija. • Reales: es un subconjunto de los números reales. Siempre tienen un punto decimal y pueden ser negativos o positivos. Consta de una parte entera y una decimal. • Y se pueden representar con notación exponencial. En donde la mantisa (parte decimal) al numero real y el exponente (parte potencial) el de la potencia de 10. • mantisa 36.75201 • exponente 18

  20. DATOS LOGICOS(BOOLEANOS): • El tipo lógico, es aquel dato que solo puede tomar uno de dos valores: • CIERTO O VERDADERO (true) y FALSO (false). • DATOS TIPO CARÁCTER Y TIPO CADENA • El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carácter contiene un solo carácter. • Ejemplos: • Caracteres alfabéticos ( A,B,C,D,E) (a,b,c,d,e) • Caracteres numéricos (1,2,3,5,6) • Caracteres especiales ( +,-,*,/,;, <,>, $......) • Una cadena(string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla o dobles comillas, según el tipo de lenguaje de programación. • La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o limitadores. Ejemplo: • ‘Hola Mortimer’ • ‘8 de octubre de 1980’

  21. CONSTANTES Y VARIABLES Constantes: es una partida de datos que permanecen sin cambios durante todo el desarrollo de un algoritmo o durante la ejecución de un programa. Variable: en una partida de datos que puede cambiar durante el desarrollo del algoritmo o ejecución del programa. (enteras, reales, carácter, lógicas y de cadena). EXPRESIONES ARITMETICAS

  22. Reglas de prioridad: Paréntesis, primero los mas internos. Exponenciación de izquierda a derecha Multiplicación y división, e izquierda a derecha. Suma y resta de izquierda a derecha. Ejemplos: 3+6*14 = 3+84 = 87 8+7*3+4*6 = 8+ 21 + 24 = 53 -4*7+2^ 3 / 4 – 5 = -28 + 8/4 – 5 = -28 + 2 – 5 = -31 Expresar axb = a*b 5.(x+y) = 5* (x+y) a²+b² = a^2+b^2

  23. OPERADORES RELACIONALES OPERADORES LOGICOS

  24. SENTENCIAS DE ASIGNACION, LECTURA Y SALIDA. La sentencia de asignación es el modo de darle valores a una variable. Se representa con el símbolo de . Puede cambiar el símbolo de acuerdo a cada lenguaje. Pero se vera para redactar un logaritmo en sencillos programas. A 5 significa que la variable A se le asignado el valor 5. La acción de asignar es destructiva, ya que el valor que tuviera antes de la asignación se pierde y se reemplaza por el nuevo valor. Ejemplo: A 25 A 134 A 5 Cuando se ejecutan el valor ultimo que toma A será 5.

  25. TIPOS DE EXPRESIONES DE ACCIONES DE ASIGNACION Asignación aritmética AMN tomara el valor de 25 COCIENTE es (14.5+8)/(0.75*3.4) Asignación lógica Supóngase que M,N Y P son variables tipo lógico. Asignación de cadena La expresión que se evalúa es: x ´12 de octubre de 1980´ Esta asigna a x el valor 12 de octubre de 1980. Al evaluar las operaciones, las variables tomaran los valores: falso, verdadero, verdadero.

  26. En las asignaciones no se pueden asignar valores a una variable de un tipo diferente del suyo. Se presentara un error si se trata de asignar valores de tipo carácter a una variable numérica o un valor numérico a una variable tipo carácter. ASIGNACION DE LECTURA Y SALIDA. La operación de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como de lectura (read). La operación de salida se denomina escritura (write). Ejemplo : LEER (A,B,C) Representa la lectura de 3 valores de entrada a las variables A, B Y C. ESCRIBIR (´hola ingenieros´) Visualiza en pantalla el mensaje hola ingenieros.

  27. SENTENCIAS DE SELECCIÓN Y REPETICION Instrucción de selección: Permiten que la selección de tareas alternativas en función de los resultados de diferentes expresiones condicionales. Nos permiten hacer una pregunta o probar una condición para determinar que pasos se ejecutaran a continuación. si no condición Acción F1 Acción F2 FORMA GENERAL DE LA INSTRUCCIÓN IF: If expresión lógica instrucciones end

  28. SENTENCIAS DE SELECCIÓN Y REPETICION Instrucción de repetición: Instrucciones que permiten la repetición de secuencias de instrucciones de un numero determinado o indeterminado de veces. Acciones condición falsa verdadera

  29. ARREGLOS Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeneos, es decir del mismo tipo de datos. El subindice de un elemntosdesinga su posicion en la ordenacion del vector. El numero de elementos de un vector se denomina rango del vector. Ejemplo: Consideremos un vector x de ocho elementos Operaciones basicas con vectores.

  30. Arreglos con Matlab. Ejemplo: A= [2 5 6] B= [2 3 5] Multiplicacion seria: C= A.*B; C= [4 15 30 ]

  31. TambienMatlab se aplica con matrices con filas y columnas: D= [1:5; - 1: - 1;-5]; P= D-*5 Q= D.^3; D= [ 1 2 3 4 5] [ -1 -2 -3 -4 -5] P= [ 5 10 15 20 25] [-5 -10 -15 -20 -25] Q= [ 1 8 27 64 125] [-1 -8 -27 -64 -125]

  32. Etapa de prueba: Consiste en chequear el algoritmo paso a paso para estar seguro si la solución da solución verdaderamente el problema. (Prueba de escritorio). Etapa de implementación específica: Consiste en traducir el algoritmo a un lenguaje de programación. (Codificar). Etapa de prueba: Consiste en ejecutar el programa en un computador y revisar los datos arrojados para ver si son correctos y hacer los ajustes necesarios. (Implementar)

  33. Se puede decir que un lenguaje de programación es el intermediario entre la máquina y el usuario para que este último pueda resolver problemas a través de la computadora haciendo uso de palabras (funciones) que le traducen dicho programa a la computadora para la realización de dicho trabajo. Existe una estructura básica que cada programa debe seguir (Estructura de un programa) y el compilador es estricto a la hora de hacer cumplir estas reglas. Un programa ha de ser codificado en varias partes y cada una de ellas debe ir en el lugar que le corresponde. La idea fundamental del lenguaje es crear programas que sean comprendidos sin necesidad de emplear docenas de páginas de diagramas de flujo y miles de explicaciones. Esta manera de realizar los programas es a lo que denomina como "PROGRAMACIÓN ESTRUCTURADA".

  34. La programación estructurada le permite realizar pequeñas rutinas específicas para cada tarea que se quiera realizar, y a cada una de esas rutinas se les da un nombre (Identificador) para cuando el programador la requiera sólo la llame con su nombre y automáticamente se ejecutará. Un programa codificado o escrito bajo cualquier lenguaje de programación estructurado consta básicamente de dos secciones: · Sección encabezado · Sección cuerpo de programa

  35. La sección de encabezado es usada para declarar, mencionar o identificar las variables con sus respectivos tipos y/o las constantes que se vayan a utilizar en el desarrollo del programa, así como también el nombre de las funciones y/o los procedimientos que ejecutarán las instrucciones de los diferentes algoritmos que va a tener dicho programa. En la sección cuerpo de programa realmente se describen todos los procedimientos y/o funciones que se van a ejecutar dentro del programa así como también el código del programa principal.

  36. Definición de variables: • Una variable es un nombre asignado a una posición de almacenamiento de datos. • El programa utiliza variables para guardar varios tipos de datos durante la • ejecución del programa. • Las variables se pueden declarar en la zona de encabezado de un programa o al inicio de una función o un procedimiento. • Variables en MATLAB • No requieren ser declaradas • Su tipo depende del valor asignado • Pueden ser redefinidas • Sensible al tipo de letra (mayúsculas o minúsculas) • ans es la variable por omisión provista por MATLAB • Matlab realiza la asignación de memoria a variables durante la ejecución.

  37. Declaración de variables son: En Matlab se manejan casi los mismo datos que manejan en el lenguaje c. Para saber que tipo de formato vasta simplemente con digitar en el prompt del MatLab la instrucción help format y enter (¿). Se mostrará una pantalla con información sobre formatos utilizados en MatLab. » help format (enter) FORMAT Set output format. FORMAT Por defecto, es lo mismo que short. FORMAT SHORT formato de punto fijo con 5 dígitos. » pi ans = 3.1416 FORMAT LONG formato de punto fijo con 15 dígitos. » pi ans = 3.14159265358979 FORMAT SHORT E formato exponencial con 5 dígitos. » pi¿ ans = 3.1416e+000 FORMAT LONG E formato exponencial con 15 dígitos » pi¿ ans = 3.141592653589793e+000 FORMAT + Establece formato de solo signos mas o menos FORMAT COMPACT Establece formato de forma compacta FORMAT LOOSE Establece formato de forma no compacta.

  38. Definición de función: Una función es una sección de código independiente y auto contenida que es escrita para ejecutar determinada tarea. Cada función tiene un nombre y el código de cada función es ejecutado incluyendo el nombre de la función, en una instrucción de programa. A esto se le llama llamado de la función. La función denominada producto, es una función definida por el usuario. Tal como lo indica su nombre las funciones definidas por el usuario son escritas por el programador durante el desarrollo del programa. Las funciones de biblioteca ejecutan la mayoría de las tareas comunes (como la entrada /salida de la pantalla el teclado y disco) que necesita el programa. En el caso de otra interfaces como MatLab los comentarios simplemente se declaran iniciando la línea con un %

  39. Funciones en MATLAB En general una función en los lenguajes de programación es un conjunto de instrucciones que se escriben separadamente del programa y que realizan alguna tarea especificada. Los usuarios pueden definir funciones y agregarlas a las funciones propias de MATLAB. El mecanismo usual para trasmitir datos a las funciones es mediante una lista de variables que se denominan parámetros. Estructuras de control de flujo en MATLAB Instrucciones de Entrada y Salida Ingreso de un dato desde el teclado: variable=input(‘mensaje’); Ej. x = input('ingrese un dato ');   Salida de un resultado a la pantalla: disp(valor) Ej. x=exp(2); disp(x);

  40. Flujo de sentencias: Es la declaración de todas las instrucciones que conforman un programa. Todas las sentencias van separadas por (;), en renglones separados o de manera seguida. Una función puede entregar más de un resultado Las variables que entregan los resultados deben definirse entre [ ]

  41. La principal razón para que las personas aprendan lenguajes de programación es utilizar la computadora como una herramienta para la resolución de problemas. Dos fases pueden ser identificadas en este proceso. 1. Fase de resolución del problema 2. Fase de implementación en una microcomputadora. El resultado de la primera fase es el diseño de un algoritmo para resolver el problema. La última forma de describir el algoritmo es a lo que se le denomina PROGRAMA. DISEÑO DE PROGRAMAS: El diseño de programas no es tarea difícil. Un programa se construye teniendo en cuenta dos cosas que me facilitan cualquier lenguaje de programación: Las Estructuras de Programación y las Estructuras de Datos.

  42. En la fase de resolución de cada uno de los ejemplos se incluyen etapas así: 1. Análisis del problema 2. Diseño del algoritmo Diagrama de flujo Seudo lenguaje Código 3. Verificación o prueba de escritorio. En esencia el diagrama de flujo es un medio de Presentación visual y gráfica de flujo de datos, a través de un algoritmo, las operaciones ejecutadas dentro del sistema y la secuencia en que se ejecutan

  43. ESTRUCTURAS DE PROGRAMACIÓN Son aquellas que le permiten a un usuario ejecutar tareas que a la final le permiten dar solución a problemas que se quieran resolver usando microcomputadoras. En general se puede decir que las estructuras de programación son herramientas que el lenguaje le provee al usuario para solucionar problemas haciendo uso de computadoras. Las estructuras de programación que tienen la mayoría de los lenguajes son cuatro así: Estructuras de Asignación Estructuras de Decisión Estructuras Cíclicas Estructuras de Selección múltiple.

  44. MATLAB (Matrix Laboratory) es un programa interactivo de uso general en Ciencias e Ingeniería. La interacción se realiza mediante instrucciones (comandos), y también mediante funciones y programas (scripts). Los objetos básicos con los cuales opera MATLAB son matrices. La especificación y asignación de cada variable la realiza MATLAB en forma dinámica y eficiente, por lo que no son necesarias las declaraciones de variables de algunos lenguajes de computación convencionales. Características de MATLAB • Cálculo numérico rápido y con alta precisión • Manejo simbólico • Traficación y visualización avanzada • Programación mediante un lenguaje de alto nivel • Programación estructurada y orientada a objetos • Soporte básico para diseño de interfaz gráfica • Extensa biblioteca de funciones • Aplicaciones especializadas para algunas ramas de ciencias e ingeniería (toolboxes) Operación • Simple y eficiente • Interactivo • Sistema de ayuda en línea • Interacción con otros entornos

  45. El entorno de MATLAB está organizado mediante ventanas Command Window: es la ventana de comandos para ejecución de instrucciones Command History: es el registro de los comandos que han sido ingresados.

  46. Workspace: contiene la descripción de las variables usadas en cada sesión. Inicialmente, se sugiere dejar activa únicamente la ventana de comandos, cerrando las otras ventanas con el botón x. Para restaurarlas use la opción view de la barra de herramientas de MATLAB. Los ejemplos de este manual debe probarlos en la ventana de comandos El símbolo >> indica que el programa está listo para recibir sus instrucciones. Escriba cada ejemplo y presione la tecla de ingreso para finalizar. MATLAB muestra el resultado inmediatamente, o un mensaje si hubo algún error.

  47. El sistema de ayuda de MATLAB Ofrece una descripción detallada del uso de cada comando. >> helpdespliega temas de ayuda >> help ops despliega comandos de un tema. Ej. lista de operadores >> help exp uso de un comando específico. Ej. función exponencial Adicionalmente, presionando el ícono Help usted puede entrar al sistema de ayuda de MATLAB organizado por contenido, índice, búsqueda y demostraciones.

  48. Exhibición de textos y valores: Podemos usar la función disp para exhibir texto encerrado por apóstrofos; también para exhibir el contenido de una matriz. Salidas con formatos: El comando fprintf nos permite tener mas control de salida y va seguido de los nombres de las matrices por exhibir, o los datos. Se usan los especificadores %e, %f y %g para indicar donde se exhibirán los valores. Si se usa %e los valores se escriben en notación exponencial; si se usa %f, se exhiben con notación decimal; y si se usa %g, los valores se usaran %f o %e, el que sea mas corto. Si aparece la cadena \n, se exhibirá la línea especificada hasta ese punto y el resto de la información se exhibirá en la siguiente línea. Lo mas usual es que el formato termine con \n. Ejemplo: fprintf(‘la temperatura es %f grados F \n,’ temp’) La salida será: la temperatura es 78.000000 grados F

More Related