La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Por eso, para el ingeniero moderno, los métodos numéricos implican:

Presentaciones similares


Presentación del tema: "Por eso, para el ingeniero moderno, los métodos numéricos implican:"— Transcripción de la presentación:

1

2 Por eso, para el ingeniero moderno, los métodos numéricos implican:
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”.

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

4 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.

5 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.

6 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.

7 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.

8 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.

9 IMPORTANCIA DE LOS METODOS NUMERICOS
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.

10 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

11 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.

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

13 Equipo Computadora Calculadora

14 “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

15 Software Desarrollo de programas Software matemático Hoja de cálculo
Calculadora graficadora

16 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

17 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.

18 Programa de computadora
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

19 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.

20 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 exponente 18

21 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’

22 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 Operadores Operador Matlab Significado -.^, ** ^ Exponenciación + Suma - Resta * / *, / Multiplic. Y división div División entera mod Modulo resto

23 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 = = 53 -4*7+2^ 3 / 4 – 5 = /4 – 5 = – 5 = -31 Expresar axb = a*b 5.(x+y) = 5* (x+y) a²+b² = a^2+b^2

24 OPERADORES RELACIONALES
OPERADORES LOGICOS Operador Matlab Significado < Menor que > Mayor que = == Igual que <= Menor o igual que >= Mayor o igual que <> ~ = No igual operador Símbolos matlab Significado no(not) ~ Negación y (and) & Conjunción o (or) / Disyunción

25 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 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 A A Cuando se ejecutan el valor ultimo que toma A será 5.

26 Supóngase que M,N Y P son variables tipo lógico.
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.

27 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.

28 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 F2 Acción F1 FORMA GENERAL DE LA INSTRUCCIÓN IF: If expresión lógica instrucciones end

29 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

30 Ejemplo: Consideremos un vector x de ocho elementos
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 elemntos desinga 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. X[1] X[2] X[3] X[4] X[5] X[6] X[7] X[8] 14.0 12.0 8.0 7.0 6.41 5.23 6.15 7.25 Acciones Resultados Escribir (X[1]) Visualiza el valor de X[1] O 14.0 X[4] = 45 Almacena el valor 45 en X[4] SUMA = X[1] + X[3] Almacena en suma 22.0. SUMA= SUMA + X[4] Añade en la variable suma el valor 67.0 X[5] = X[5] + 3.5 Suma 3.5 a 6.41 es X[5] igual a 9.91 X[6] = X[1] + X[2] Almacena la suma en x[6] el valor 26

31 Arreglos con Matlab. Ejemplo: A= [2 5 6] B= [2 3 5] Multiplicacion seria: C= A.*B; C= [ ] Operación Forma alegebraica Matlab Suma a+b a + b Resta a-b a – b Multiplicacion a x b a.*b Division a/b a./b ezponenciacion aⁿ a.^n

32 Tambien Matlab se aplica con matrices con filas y columnas:
D= [1:5; - 1: - 1;-5]; P= D-*5 Q= D.^3; D= [ ] [ ] P= [ ] [ ] Q= [ ] [ ]

33 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)

34 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".

35 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

36 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.

37 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.

38 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 = FORMAT LONG formato de punto fijo con 15 dígitos. » pi ans = FORMAT SHORT E formato exponencial con 5 dígitos. » pi¿ ans = e+000 FORMAT LONG E formato exponencial con 15 dígitos » pi¿ ans = e+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.

39 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 %

40 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) x=exp(2); disp(x);

41 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 [ ]

42 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.

43 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

44

45 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.

46 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

47 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.

48 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.

49 El sistema de ayuda de MATLAB
Ofrece una descripción detallada del uso de cada comando. >> help despliega 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.

50 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 grados F

51 Si este ejercicio lo desea correr bajo MatLab tiene que guardarlo en un archivo tipo m en el directorio Work de Matlab o en el directorio donde haya configurado en Set Path de la Opción de menú File. Una vez guardado bajo cualquier nombre, entonces simplemente en el prompt del matlab lo ejecuta llamando el archivo por el nombre guardado. promedio=0; n=input('Dame el 1 número:'); promedio=promedio+n; n=input('Dame el 2 número: '); n=input('Dame el 3 número: '); promedio = promedio+ n; promedio = promedio/3; fprintf('El promedio es %f \n',promedio); fprintf('Presione tecla para terminar...\n'); pause

52 TIPOS DE DATOS BOOLEAN Algunos lenguajes de programación poseen este tipo de dato. El tipo boolean sólo tiene dos valores posibles: False (00) ó True(01). Una variable que se declare de tipo boolean tendrá asignado siempre uno de los dos valores, o verdadero o falso, y ocupa un solo byte de memoria RAM. Program lógica; Begin op := 2<3; {toma el valor de True} If op then Write('verdadero! 2 es menor que tres') else write('El computador está loco!'); End;

53 PLANTEAMIENTOS Y EJECUCIÓN DE PROGRAMAS
Cuando se inicia en el fascinante mundo de la programación de computadoras, es necesario a la hora de construir algoritmos primero que todo intentar plantear al nivel de símbolos dicha solución. A la construcción con los símbolos indicados es a lo que se conoce con el nombre de Diagrama de flujo. Recuerde que un algoritmo es la secuencia lógica de pasos que se sigue en la solución de un problema determinado. En los siguientes ejercicios se verá la forma de aplicar la simbología de los diagramas de flujo en la solución de problemas de tipo matemático sencillos. Para dar solución a este ejercicio es necesario realizar tres tareas: 1.Leer los valores que para el caso concreto del ejemplo son dos (2), Calcular la suma de dichos valores y por último escribir el resultado obtenido de dicha suma. Cada una de las tareas planteadas se enmarcan dentro de un símbolo utilizado en diagramación así:

54

55 EN MATLAB: A=input(‘leer a’); B=input(‘leer b’); C=a+b; Fprintf(C)

56 2. Desarrolle un algoritmo que le permita leer un valor entero, calcular su
cuadrado y escribir dicho resultado. Análisis: En el ejercicio planteado, se puede identificar como tareas a realizar, cada una de las tres acciones solicitadas. Leer, Calcular y Escribir.

57 EN MATLAB % Cuadrado de un numero entero; n=input(‘Dame el numero N ‘); R=n^2; Disp(‘el cuadrado de N es’); disp(R)

58 3. Desarrolle un algoritmo que le permita leer un valor para radio (R), calcular el
área (A) de un círculo A = p * R² y escribir su valor. Análisis: En el ejercicio se identifican como tareas las tres acciones solicitadas. Leer, Calcular y Escribir. Cada uno de los procesos mencionados se describen en el símbolo respectivo quedando el diagrama de flujo de la siguiente manera.

59 Seudo código: Inicio Leer( R) A = p*R² Escribir (A) Finalizar En MATLAB %Área de un circulo; R=input(‘Cual es el radio del circulo:’); Format short A=pi*r^2; Disp(‘el área del circulo es: ‘); disp(a) R=____

60 4. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle los correspondientes algoritmos.

61 Seudo código En el seudo código se dejan planteadas las operaciones tal y cual se hizo en el diagrama de flujo o en el seudo lenguaje. Inicio MATLAB %La hipotenusa del Triangulo con los catetos A y B; catA=input(‘El cateto A: ‘); cAtB=input(‘El cateto B: ‘); format long hip=sqrt(CatA^2+CatB^2); Disp(‘La hipotenusa del triangulo es:’); disp(Hip) o o %poner % fprintf('El valor de HIPOTENUSA = %f \n',hip);

62 5. Desarrolle un algoritmo que le permita leer un valor que represente una temperatura expresada en grados Celsius y convierta dicho valor en un valor expresado en grados Fahrenheit. Análisis: En el ejercicio planteado, las tareas a realizar son: Leer, convertir y Escribir. Tareas: Leer la temperatura en grados Celsius Calcular la conversión a grados Fahrenheit Escribir el valor encontrado °C °F

63

64 Bajo MatLab, guarda el siguiente código en un archivo y lo llama desde el prompt del MatLab.
%La conversión de Grados Celsius a Grados Fahrenheit C = input('Digite el valor expresado en Grados °C : '); f = c*9/5+32; fprintf('El valor en grados Fahrenheit es : %8.3f\n', f); Nota: El formato 8.3f indica se utilizarán 8 espacios para escribir el valor de la variable f, y de los ocho espacios se utilizan 3 campos para los decimales. El \n indica que cuando termine salte el prompt a una nueva línea (New Line). Si se omite la instrucción \n entonces el prompt quedara unido a la último digito escrito del valor f.

65 6. Desarrolle un algoritmo que le permita calcular el área de un triángulo en función de las longitudes de sus lados previamente leídos desde el teclado. Análisis: Para darle solución al problema planteado primero se leen los valores de los tres lados del triángulo, luego se procede a calcular el valor de su área en función de los valores leídos, aplicando la fórmula correspondiente y por último se da orden de escribir el valor calculado. Tareas: Leer los lados Calcular el área Escribir el valor calculado

66

67 En MAtLab se guardará las siguientes líneas en un archivo y
luego se llama para ser ejecutado. %El área del un triangulo:; A = input('Digite el cateto a : '); b = input('Digite el cateto b : '); c = input('Digite el cateto c : '); p = (a+b+c)/2; area = sqrt(p*(p-a)*(p-b)*(p-c)); fprintf('El valor del área es : %8.3f\n', área);

68

69 7. Desarrolle un algoritmo que le permita determinar el área y volumen de un cilindro cuyo radio (R) y altura (H) se leen desde teclado. Análisis: Para dar solución al ejercicio planteado es necesario leer el valor del radio y el valor de la altura del cilindro desde algún medio de entrada de datos a la computadora, generalmente el teclado. Una vez se tengan almacenados los dos valores en memoria del computador se procede a calcular el área y el volumen aplicando las fórmulas respectivas. Tareas: Iniciar Leer valores de R y H Calcular el volumen y área Escribir los valores respectivos Finalizar

70

71

72 Errores Los métodos numéricos ofrecen soluciones aproximadas muy cercanas a las soluciones exactas; la discrepancia entre una solución verdadera y una aproximada constituye un error, por lo que es importante saber qué se entiende por aproximar y aprender a cuantificar los errores, para minimizarlos.

73 Error absoluto Los errores numéricos se generan con el uso de aproximaciones para representar las operaciones y cantidades matemáticas. La relación entre un resultado exacto o verdadero X y el valor aproximado X* está dado por: X = X* + error (1.1) El que un error tenga signo positivo o negativo, generalmente no tiene importancia, de manera que el error absoluto se define como el valor absoluto de la diferencia entre el valor verdadero y el valor aproximado: E = |X - X*| (1.2) El error absoluto se expresa en las mismas unidades que X y no toma en cuenta el orden de magnitud de la cantidad que se está midiendo.

74 Errores inherentes Los errores inherentes se producen por la propia variabilidad de los fenómenos; al ser caracterizados a través de cantidades físicas, las mediciones conllevan incertidumbre, pues los instrumentos de medición ofrecen sólo una aproximación numérica del valor verdadero de la magnitud medida, pues se calibran para considerar solamente un determinado número de cifras significativas. Todas las magnitudes que se manejan en ingeniería son susceptibles a este tipo de errores. Por ejemplo, cuando se dice que el tirante de agua de una presa es de 123 m, habiendo hecho la medición mediante un dispositivo que ofrece una precisión de tres cifras significativas, el tirante de agua realmente puede fluctuar entre y m. X [122.5, 123.5) X* = 123

75 Errores inherentes

76 Errores por truncamiento
Serie de Taylor

77 Aproximaciones Los métodos numéricos constituyen procedimientos alternativos provechosos para resolver problemas matemáticos para los cuales se dificulta la utilización de métodos analíticos tradicionales y, ocasionalmente, son la única opción posible de solución. Son técnicas mediante las cuales un modelo matemático es resuelto usando solamente operaciones aritméticas, … tediosos cálculos aritméticos. Son técnicas sistemáticas cuyos resultados son aproximaciones del verdadero valor que asume la variable de interés; la repetición consistente de la técnica, a lo cual se le denomina iteraciones, es lo que permite acercarse cada vez más al valor buscado.

78 Aproximaciones

79 Aproximación numérica
Se entiende por aproximación numérica X* una cifra que representa a un número cuyo valor exacto es X. En la medida en que la cifra X* se acerca más al valor exacto X, será una mejor aproximación de ese número Ejemplos: es una aproximación numérica de , es una aproximación numérica de e, es una aproximación numérica de 2, y es una aproximación numérica de 1/3.

80 Cifras significativas
Las mediciones se realizan normalmente a través de instrumentos; por ejemplo, un velocímetro para medir la velocidad de un automóvil, o un odómetro para medir el kilometraje recorrido. El número de cifras significativas es el número de dígitos t, que se pueden usar, con confianza, al medir una variable; por ejemplo, 3 cifras significativas en el velocímetro y 7 cifras significativas en el odómetro. Los ceros incluidos en un número no siempre son cifras significativas; por ejemplo, los números , , 1845 y aparentemente tienen 4 cifras significativas, pero habría que conocer el contexto en el que se está trabajando en cada caso, para identificar cuántos y cuáles ceros deben ser considerados como cifras significativas. El manejo de cifras significativas permite desarrollar criterios para detectar qué tan precisos son los resultados obtenidos, así como evaluar los niveles de exactitud y precisión con que son expresados algunos números tales como , e ó 2. Alternativamente al número de cifras significativas, está el número n de dígitos en la mantisa, que indica el número de cifras a considerar, después del punto decimal. En operaciones manuales, el número de dígitos en la mantisa sigue teniendo vigencia, aunque ha sido desplazado poco a poco por el número de cifras significativas que, por diseño, manejan calculadoras y computadoras.

81 Exactitud y precisión. La precisión se refiere al número de cifras significativas que representa una cantidad. La exactitud se refiere a la aproximación de un número o de una medida al valor numérico que se supone representa. Ejemplo:  es un número irracional, constituido por un número infinito de dígitos; es una aproximación tan buena de , que tal podría considerarse que es su valor exacto. Al considerar las siguientes aproximaciones de :  = es impreciso e inexacto.  = es exacto pero impreciso.  = es preciso pero inexacto.  = es exacto y preciso. Los métodos numéricos deben ofrecer soluciones suficientemente exactas y precisas. El término error se usa tanto para representar la inexactitud como para medir la imprecisión en las predicciones.

82 Convergencia y estabilidad
Se entiende por convergencia de un método numérico la garantía de que, al realizar un “buen número” de iteraciones, las aproximaciones obtenidas terminan por acercarse cada vez más al verdadero valor buscado. En la medida en la que un método numérico requiera de un menor número de iteraciones que otro, para acercarse al valor deseado, se dice que tiene una mayor rapidez de convergencia. Se entiende por estabilidad de un método numérico el nivel de garantía de convergencia, y es que algunos métodos numéricos no siempre convergen y, por el contrario, divergen; esto es, se alejan cada vez más del resultado deseado. En la medida en la que un método numérico, ante una muy amplia gama de posibilidades de modelado matemático, es más seguro que converja que otro, se dice que tiene una mayor estabilidad. Es común encontrar métodos que convergen rápidamente, pero que son muy inestables y, en contraparte, modelos muy estables, pero de lenta convergencia.

83 Serie de Taylor La serie de Taylor es, sin duda, el fundamento matemático más importante para comprender, manejar y formular métodos numéricos que se basan en la aproximación de funciones por medio de polinomios. Aunque a veces no sea muy evidente, la mayoría de los métodos numéricos se basan en la aproximación de funciones por medio de polinomios.

84 Serie de Taylor La expansión de Taylor de una función, es una serie infinita de potencias que representa, de manera exacta, el comportamiento de la función en la vecindad de un punto dado. Si se ignoran todos los términos de la serie de Taylor, excepto unos cuantos, se obtiene un polinomio que aproxima a la función verdadera. El error del método numérico depende de la precisión con la que el polinomio aproxima a a la función verdadera. Los errores por truncamiento se evalúan a través de la comparación del desarrollo polinomial de la solución numérica, con la serie de Taylor, de la solución exacta.

85 Expansión en serie de Taylor
El valor de la función en un punto cualquiera X se puede evaluar a través de un polinomio equivalente al de la expresión (1.13): ____ (1.15) Desarrollando la expresión (1.15) y comparándola con la expresión (1.13), se obtiene: _____(1.16)

86 Expansión en serie de Taylor
Ejemplo. Aproximar la función f(X) = cos X en 30, conociendo los valores de la función y el de sus derivadas para 0 y considerando los primeros siete términos de la expansión en serie de Taylor. No olvidemos trabajar en radianes: Xi = 0 = 0 ; Xi+1 = 30 = /6 ; h = Xi+1 - Xi =  /6 - 0 =  /6 f(X) = f(Xi) + f'(Xi)h + f''(Xi)h2/2! + f'''(Xi)h3/3! + fiv(Xi)h4/4! + fv(Xi)h5/5! + fvi(Xi)h6/6! f(X) = cos X f(0) = cos 0 = 1 f'(X) = - sen X f'(0) = - sen 0 = 0 f''(X) = - cos X f''(0) = - cos 0 = - 1 f'''(X) = sen X f'''(0) = sen 0 = 0 fiv(X) = cos X fiv(0) = cos 0 = 1 fv(X) = - sen X fv(0) = - sen 0 = 0 fvi(X) = - cos X fvi(0) = - cos 0 = - 1

87 Expansión en serie de Taylor
Ejemplos: Los desarrollos en serie de Taylor de e-x y de sen x, en la vecindad de x = 1, son respectivamente: El desarrollo en serie de Taylor de una función alrededor de x = 0 recibe el nombre de serie de Maclaurin; por ejemplo: ex, cos x, y ln(x+1)


Descargar ppt "Por eso, para el ingeniero moderno, los métodos numéricos implican:"

Presentaciones similares


Anuncios Google