Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios de calculos, Ejercicios de Química Aplicada

Resume brevemente las aplicaciones a la ingenieria

Tipo: Ejercicios

2020/2021

Subido el 30/01/2023

saul-gomez-15
saul-gomez-15 🇵🇪

1 documento

1 / 60

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Simulación de Procesos I y II
R. H. Mascheroni S. A. Giner
Introducción al Cálculo
Numérico aplicado a
Ingeniería Química
Conceptos generales, resolución numérica
de ecuaciones, integración aproximada,
resolución de sistemas de ecuaciones
lineales, ajuste de curvas por cuadrados
mínimos
2009
11
,,
,
1i1 N
nnn
iiijjijj
ii j1 ji1
x
bax ax
a
++
==+
⎛⎞
⎜⎟
=−
⎜⎟
⎝⎠
∑∑
1,
,
1N
nn
iiijj
ii j1
ji
x
bax
a
+
=
⎛⎞
⎜⎟
=−
⎜⎟
⎜⎟
⎝⎠
Área Departamental
Ingeniería Química
Facultad de Ingeniería-UNLP
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c

Vista previa parcial del texto

¡Descarga Ejercicios de calculos y más Ejercicios en PDF de Química Aplicada solo en Docsity!

Simulación de Procesos I y II

R. H. Mascheroni − S. A. Giner

Introducción al Cálculo

Numérico aplicado a

Ingeniería Química

Conceptos generales, resolución numérica

de ecuaciones, integración aproximada,

resolución de sistemas de ecuaciones

lineales, ajuste de curvas por cuadrados

mínimos

1 1 , , ,

n^1 i^1 n N n i i i j j i j j i i (^) j 1 j i 1

x b a x a x a

= = +

⎛ ⎞ = ⎜⎜ − − ⎟⎟ ⎝ ⎠

(^1) , ,

n^1 N n i i i j j i i (^) j 1 j i

x b a x a

=≠

⎛ ⎞ = ⎜^ − ⎟ ⎜ ⎟ ⎜⎝ ⎟⎠

Área Departamental

Ingeniería Química

Facultad de Ingeniería-UNLP

    1. BREVE INTRODUCCIÓN AL CÁLCULO NUMÉRICO
  • 1.1. Presentación del tema
  • 1.2. Definiciones generales
  • 1.2.1. Problema numérico
  • 1.2.2. Algoritmo
  • 1.2.3. Iteración
  • 1.2.4. Método numérico
  • 1.3. Pasos a seguir en la resolución de un problema numérico
    1. CRITERIOS PARA LA SELECCION DE ALGORITMOS
  • 2.1. Velocidad de convergencia y facilidad de implementación
  • 2.2. Estabilidad del método
  • 2.3. Tiempo de máquina
  • 2.4. Capacidad de memoria requerida
  • 2.5. Precisión del método
      1. RESOLUCIÓN NUMÉRICA DE ECUACIONES
  • 3.1. Introducción
  • 3.1.1. Raíz de una ecuación
  • 3.1.2. Algunos métodos de separación de raíces
  • 3.2. Métodos de resolución
  • 3.2.1. De las aproximaciones sucesivas
  • 3.2.2. De la iteración de punto fijo
  • 3.2.3. Método de Wegstein
  • 3.2.4. Del punto medio
  • 3.2.5. De la posición falsa (Regula Falsi)
  • 3.2.6. De Newton-Raphson
  • 3.2.7. De Richmond
  • 3.3. Solución de un problema tipo, utilizando todos los métodos descriptos
    1. VALORACION NUMERICA DE INTEGRALES
  • 4.1. Introducción
  • 4.2. Métodos de resolución
  • 4.2.1. Método o regla de los trapecios
  • 4.2.2. Método o regla de Simpson o de Simpson de 1/3
  • 4.2.3. Otras variantes del método de Simpson
    1. AJUSTE DE CURVAS POR EL METODO DE LOS CUADRADOS MINIMOS
  • 5.1. Estimación de la precisión del método
    1. SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
  • 6.1. Introducción
  • 6.2. Métodos de solución
  • 6.2.1. Métodos directos
  • 6.2.2. Métodos indirectos
    1. BIBLIOGRAFÍA

2-Precisión. " Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso ".

3-Entrada. " Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos ".

4-Salida. " Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas ".

5-Eficacia. " También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel ".

A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepción de los algoritmos probabilistas. En otras palabras, para un dado problema numérico, el algoritmo permite disponer de una descripción completa de operaciones bien definidas a través de las cuales el vector de datos de entrada es transformado en un vector de datos de salida.

1.2.3 Iteración Uno de los conceptos más comunes en los problemas numéricos es del de iteración (del Latín, iteratio , repetición) o aproximaciones sucesivas. En general la iteración significa la repetición de un patrón de acción o proceso. Para ilustrar un uso más específico de la idea de iteración, consideremos el problema de resolver una ecuación de la forma: x = f ( x )

Comenzar

Vector de entrada

ALGORITMO

Vector de salida

Fin

por ejemplo, si p (^) s es la presión de vapor del agua y T la temperatura, hallar el punto de ebullición del agua a una presión de p = ps = 700 hPa = 70 000 Pa. La ecuación de presión de vapor ps en Pa, en función de la temperatura, T en ºC viene dada por la expresión siguiente:

  1. 23 ( 273. 16 ) 0

  2. 16

  3. 1 ( ) exp 54. (^119) ⎟= ⎠

⎞ ⎜ ⎝

⎛ (^) − +

= − − LnT T

F T ps

  1. 16

  2. 119 4. 23 ( 273. 16 ) 70000

  3. 1 ( ) − − + −

= = LnT Ln

T f T

aquí, f(x) es una función diferenciable cuya magnitud podemos calcular para cualquier valor de la variable real x , dentro de un cierto intervalo. Usando el método de la iteración , se comienza con una aproximación inicial x 1 , y se calcula la secuencia

xn f ( xn )

x f x

x f x

=

=

=

  • 1

3 2

2 1

..

Cada cálculo del tipo xn+1 = f(x (^) n ) se denomina una iteración. Si la secuencia de valores de x (^) n

converge a un valor límite α , tendremos entonces que el lim ( n ) ( ) 0

n f x f α →∞ = = , dado que α sería

la raíz exacta. Sin embargo, dado que el número de iteraciones siempre es finito, nunca se llega al valor exacto α , sino a un valor práctico suficientemente próximo, que satisfaga los requerimientos de exactitud que se tengan para un problema dado. Más adelante se estudiarán en particular el uso y condiciones de convergencia de numerosos métodos iterativos

1.2.4 Método numérico Se entiende como método numérico al procedimiento mediante el cual se pueda aproximar un problema matemático por un problema numérico. ¿Que diferencia hay entonces entre un algoritmo y un método numérico? Por ejemplo, el método que vimos recién, “de la iteración” es un método para resolver casi cualquier ecuación, pero para transformarlo en un algoritmo es necesario definir consideraciones sobre el inicio y el final, esto es, saber bien que datos colocar, y cuando detener el cálculo. Se puede considerar entonces un algoritmo como una descripción detallada de un método numérico

1.3 Pasos a seguir en la resolución de un problema numérico Se pueden generalizar en la secuencia siguiente:

a) Sustituir el problema inicial

  1. 23 ( 273. 16 ) 0

  2. 16

  3. 1 ( ) exp 54. (^119) ⎟= ⎠

⎞ ⎜ ⎝

⎛ − +

= − − LnT T

F T ps

por un algoritmo de cálculo, por ejemplo el método de la iteración

  1. 16

  2. 119 4. 23 ( 273. 16 ) 70000

  3. 1 1 ( ) − − + −

  • = = LnT Ln

T f T n

n n

Un posible diseño general de programas Matlab para cálculo numérico (Constantinides y Mostoufi, 1999) es el que sigue:

Metodo. m

Esta es una función general que implementa el método, tal como el de la iteración, o el de Newton-Raphson. Esta función es portátil de manera que puede llamársela desde otros programas y/o desde el espacio de trabajo (Workspace) de Matlab (con parámetros). Por su parte, esta función Metodo puede llamar la función ecuaesp , con las ecuacion/es específicas a resolver en el problema. La función Metodo puede llamar asimismo cualquiera de las funciones que Matlab trae incorporadas. Los resultados de Metodo se pueden imprimir o graficar aquí, si son genéricos.

Este programa llama la función metodo.m , le pasa los parámetros a ésta y recibe, como devolución, los resultados y los escribe de manera formateada y genera gráficos con los resultados, si se necesitan

Ejemplo. m

Este es un programa que resuelve un ejemplo específico. Es interactivo con el usuario. Solicita al usuario ingresar, mediante el teclado, los parámetros que se usarán con el método, tal como el nombre de la función que contiene las ecuaciones, constantes, estimaciones iniciales, criterios de convergencia. Este programa llama la función metodo.m , le pasa los parámetros a ésta y recibe, como devolución, los resultados y los escribe de manera formateada y genera gráficos con los resultados, si se necesitan

ecuaesp.m Esta función contiene la/s ecuacion/es específica/s a ser resuelta/s. Puede contener alguna o varias constantes que son específicas de tales ecuaciones

Funciones Matlab Cualquiera de las funciones disponibles en el lenguaje Matlab o rutinas de graficación que puedan necesitarse

Vamos a ejemplificar con el caso resuelto en la página 4

Archivo Matlab punto_eb.m

archivo met_it.m

archivo presvap.m

global p disp ('para la ecuación de presión de vapor') disp (' ') disp (' ps = exp( a – b/(T +273.16) – c Ln (T +273.16)') disp(' ') Ts = input('ingrese temperatura supuesta para comenzar la iteración ') tol = input('ingrese diferencia admisible para detener el cálculo ') p = input ('ingrese el valor de la presión atmosférica en hPa ')

p = p*100; % se pasa a Pa ps =p % por definición de punto de ebullición Ts = 50; % estimación inicial del punto de ebullición tol = 0.01; % ºC [Teb, niter] = met_it (Ts, tol)

disp ('la temperatura de ebullición vale'), Teb disp (' ') disp (' siendo el numero final de iteraciones de '), niter

function [xcalc, n] =met_it (xsup, difad) dif = 10; n = 1 while dif >= difad & n <= xcalc = presvap (xsup) n = n+ dif = abs(xcalc-xsup) xsup = xcalc end

function Tcalc = presvap(Tsup) global p c1 = 54.119; c2 = 6547.1; c3= 4. Tcalc = c2./(c1-c3*log (Tsup +273.16) -log(p)) -273.

n n ni i nn n n

i i ii i in n i

i i n n

a x a x a x a x b

a x a x ax a x b

a x a x a x a x b

      • =
      • =
      • =

..... ...

...

..... ...

...

..... ...

11 2 2

1 1 2 2

111 12 2 1 1 1

O escrito en forma matricial: Ax = b

Comparamos dos algoritmos (más adelante se verán en detalle): los métodos de Cramer y de eliminación de Gauss.

Cramer: con este método las incógnitas se calculan como

i i

A x A

=

donde i = 1, 2, ... n. El denominador de la ecuación es el determinante del sistema y el numerador, el determinante que surge de una matriz de coeficientes igual a la de A, pero poniendo, en la columna de la incógnita x (^) i el vector de términos independientes, bi , 1,..n. Despreciando las sumas y restas por ser operaciones sencillas frente a multiplicación y división,

el número de operaciones da ( n^^ −^1 )^ n !+ n 2

Eliminación de Gauss: Este método, mediante una serie de pasos sucesivos de eliminación y transformación por combinaciones lineales, llega a un sistema triangular superior que tiene la misma solución que el sistema original, y cuya resolución es directa y secuencial, de la última ecuación hasta la primera. Aquí la deducción da,

( )

nn + nn n

La tabla siguiente, de doble entrada, nos brinda el número de cálculos en función del método y del orden del sistema

Orden del sistema de ecuaciones lineales, n Método 3 5 10 Cramer 51 2885 359251210 Eliminación de Gauss 19 69 439

Se vé que el método de Eliminación de Gauss conviene, y tanto más cuanto mayor sea el orden del sistema. El ejemplo sirve además para comprender la ventaja del empleo del cálculo numérico por computadora en la solución de problemas matemáticos. Se debe recordar que en el caso de esquemas iterativos, se debe multiplicar el número de cálculos que se realizan en cada iteración por el número de iteraciones que se necesite para llegar a una solución aceptable (siendo este valor desconocido “a priori”, se lo estima según experiencias de aplicación a otros casos). Puede entonces ocurrir que sistemas de convergencia lenta, que utilizan menor número de cálculos por iteración (métodos más simples), tarden en realidad más tiempo en alcanzar el resultado deseado que otros métodos de mayor complejidad pero de convergencia más rápida.

Matlab tiene la función “clock” que devuelve un arreglo de 6 números con el año, mes, día, hora, minuto, y segundos con fracción al momento de ejecutarse. Ese valor puede asignarse antes del lazo iterativo al valor “t1”. Luego del lazo iterativo, puede llamarse la función etime (clock, t1), que devuelve la diferencia entre el tiempo actual provisto por clock en el argumento de la función, y t1, el valor original. En consecuencia, el cálculo del tiempo que demanda un método numérico podría estimarse así

Las computadoras actuales son muy rápidas y la precisión de este método es de fracciones de segundo. Por tanto, al comparar métodos con distinto número de iteraciones o tolerancias, trate de realizar este cálculo de tiempo en las mismas condiciones, por ejemplo, todas las ventanas cerradas del sistema operativo excepto Matlab, dado que estas funciones tendrán en cuenta todo lo que demanda a la CPU y no solamente lo que le demanda el método numérico que está evaluando.

2.4. Capacidad de memoria requerida

Si bien actualmente la memoria de la máquina no es un recurso demasiado escaso para problemas de baja y mediana complejidad, los conceptos sobre economía en el uso de la memoria siempre resultan importantes, dado que no solamente permitirán que un programa se ejecute a mayor velocidad, sino que implique un menor consumo de energía por la computadora para el cálculo que se desea realizar. Así, se puede decir que el espacio de memoria se utiliza tanto para el almacenamiento del propio programa, como de los datos, valores intermedios de las variables y resultados finales. La memoria requerida puede ser un problema crítico en algunos algoritmos que requieren grandes almacenamientos para su solución (tanto por la extensión del programa mismo, como por el volumen de variables que se manejen). En estos casos se hace necesario, al programar el algoritmo, emplear métodos adecuados para lograr que el almacenamiento requerido sea el menor posible. Además, en estos casos, suele necesitarse un conocimiento profundo del lenguaje de programación y de la máquina que se utiliza.

Veremos un ejemplo organizado sólo a los efectos de contribuir a fijar los conceptos involucrados.

n

i

S xi

1

Un programa típico de Matlab podría ser el siguiente:

1- Suponiendo que se guardan los datos de x (^) i en una planilla Excel.

t1 = clock; LAZO ITERATIVO tiempo_del_metodo = etime(clock, t1)

aquí el uso de la memoria da 28 bytes, menos de la mitad que usaba el otro programa. Aquí se lista una copia de la ejecución de este programa en el command window

sum = 0 numero_de_x = 0 clave = si numero_de_x = 0 ingrese valor de x 1 x = 1 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 1 ingrese valor de x 3 x = 3 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 2 ingrese valor de x 5 x = 5 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si

numero_de_x = 3 ingrese valor de x 7 x = 7 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 4 ingrese valor de x 6 x = 6 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 5 ingrese valor de x 8

x = 8 ¿ sigue sumando? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 6 ingrese valor de x 7 x = 7 ¿ sigue sumando? poner la respuesta entre apostrofes 'no' clave = no sum = 37

2.5. Precisión del método

Está parcialmente relacionado con el punto 2.2. En muchos casos, principalmente en cálculos científicos o técnicos de gran significación, el factor determinante es la precisión del método de cálculo. Distintos esquemas tendrán distinta precisión, dada principalmente por aproximaciones realizadas en su deducción. El caso más común son los métodos para resolver numéricamente ecuaciones diferenciales. Normalmente los más precisos serán de desarrollo más complicado, cálculo más lento y/o involucrarán mayor necesidad de memoria. Sin embargo, éstos no son factores determinantes en cálculos científicos o técnicos para los que se utilicen computadoras de gran memoria y alta velocidad, donde generalmente, priva la precisión a obtener, en el momento de decidir el algoritmo a utilizar.

3.1.2. Algunos métodos de separación de raíces

Cuando se trata de calcular las raíces reales de una ecuación F(x) = 0 , conviene tener presente una serie de resultados del análisis matemático que facilitan el conocimiento de la ubicación de las raíces. Considérese un intervalo ( a , b ) en el cual la función es continua. Se admitirá que:

I) si F(x) tiene signos distintos en a y b , se anula por lo menos una vez en ( a , b ) y en general, un número impar de veces

II) Si el signo de F(a) = signo de F(b) , la función se anula un número para de veces en ( a , b ), tomando el cero (ausencia de raíces) como número par, es decir, que puede no anularse

III) Si F(x) es constantemente creciente o decreciente en ( a , b ), es decir, si F’(x) tiene un signo determinado y el signo de F(a) es ≠ al de F(b) , hay una sola raíz α de la ecuación F(x)=0 en ( a , b ). Sin embargo, si el signo de F(a) es = al signo de F(b) , con seguridad no habrá ninguna raíz en ( a , b )

F(x)

a b x

F(x)

a b x

F(x)

a b x

IV) De acuerdo a III), la separación de una raíz es fácil en ( a , b ) si F’(x) tiene un signo determinado.

Veamos ahora como es posible calcular intervalos parciales del intervalo total, donde en cada uno de los cuales la derivada F’(x) tenga un signo determinado. Considérese una función continua F(x) en ( a , b ) con derivada F’(x) también continua, tal como se representa en la figura:

a (^) b a (^) b

a

a^ b

b

Podrá observarse que este método puede aplicarse luego de realizar un gráfico de la función con Matlab, donde se observe los lugares donde se anula. Esto permitirá elegir un punto de partida adecuado para el cálculo. De lo contrario, el método podría fallar y no detectar nunca un cambio de signo, si la eventual raíz se hallara en la dirección opuesta a la utilizada para recorrer el eje x. Por este motivo, si bien éste método es muy bueno en el sentido de que aúna un método de separación de raíces con un método de resolución, y es por tanto de gran valor para introducir conceptos de raíces, no se adapta fácilmente para ser utilizado en forma automática dentro de modelos de simulación, dado que la dirección de aproximación a la raíz la dirige el usuario, y no el método, a diferencia de otros procedimientos para el cálculo de raíces.

Comenzar

Leer x 1 , ∆x, ε

x = x 1

Fx = valor de la función en x

Fxa = Fx

x =x + ∆x

Fx = valor de la función en x

si Fx * Fxa <

∆x ≤ ε no

x =x - ∆x

∆x = ∆x/

si

raíz = x

Fin

no

3.2.2. Método de la iteración de punto fijo

Es uno de los más elementales. Supóngase que la función F(x) = 0 se pueda separar en dos términos F(x ) = f1(x) –f2(x) =0. De allí se despeja, f1(x) = f2(x). El cálculo comienza al dar a x un valor inicial apropiado x 1 calcular f2(x 1 ) , igualar este valor a f1(x 2 ) y despejar x 2 de ésta. La recurrencia de los cálculos puede establecerse de acuerdo al patrón siguiente

2 (^ )^1 (^1 )^1

2 2 2 1 3 3

1 2 1 1 2 2

= = + −−−−−−−> +

−−−−−−−−−−−−−−−−−−−−

= = −−−−−−−>

= = −−−−−−−>

yn f xn f xn x n

y f x f x x

y f x f x x

Cuando se alcance un x (^) n≈α tendremos f1(x (^) n ) ≈f2(x (^) n ) , lo que verificará la ecuación. Esta convergencia puede ser muy lenta en los pasos finales, y generalmente se detiene el cálculo cuando |x (^) n+1- x (^) n | ≤ ε. Existe sin embargo una forma más adecuada para medir la convergencia de cualquier método iterativo, que implica el cálculo del “error aproximado porcentual”, e (^) ap. Este se define según

1

100 1

= +^ − n

n n ap x

x x e

obsérvese que esta fórmula es análoga a la del error relativo porcentual

v
erp 100

donde v es el valor aproximado, y α el verdadero. En cálculos iterativos, por definición, no se conoce el valor verdadero, de manera que se toma como una aproximación al valor verdadero el último valor calculado, xn+1 , porque, de ser convergentes los cálculos, se aproximará más que x (^) n al valor verdadero. La fórmula de e (^) ap no es conveniente si la raíz es muy próxima a cero, de manera tal que en esos casos puede ser conveniente utilizar una cota de error absoluto. Otra ventaja que tiene el error aproximado porcentual es que no hace falta conocer el valor de la incógnita, ni siquiera su orden de magnitud para establecer una cota de error apropiada; por ejemplo, 0.01% puede ser adecuada para la mayoría de los casos de ingeniería. Volviendo al método de la iteración de punto fijo, y ordenados el esquema de cálculo como lo indica la fórmula de recurrencia escrita más arriba, se puede dar una condición de suficiencia para la convergencia del método. Esta es:

f ' 2 ( x )< f ' 1 ( x ) en un entorno de α

Es decir, si se cumple la condición se asegura la convergencia, y si no se cumple, la convergencia no está asegurada, aunque pueda ser todavía posible.