Métodos numéricos aplicados a Ingeniería. Héctor Jorquera González

Чтение книги онлайн.

Читать онлайн книгу Métodos numéricos aplicados a Ingeniería - Héctor Jorquera González страница 5

Métodos numéricos aplicados a Ingeniería - Héctor Jorquera González

Скачать книгу

los problemas numéricos. El mejor pivote es usualmente el elemento con mayor valor absoluto en la columna que queda bajo la diagonal principal durante la eliminación hacia adelante.

      3) En Matlab®, el algoritmo está implementado como la factorización LU (rutina lu), y también en el operador ‘\’, que usa la eliminación gaussiana para resolver sistemas lineales. Moler [1] ha desarrollado una interfaz gráfica lugui que permite visualizar el proceso de factorización de una matriz cuadrada, para distintas opciones: sin pivote, pivoteo parcial o pivoteo total.

      4) En el caso particular de matrices que sean definidas positivas o que posean diagonal dominante1, el pivoteo siempre funciona y no hay problemas de encontrar pivotes iguales a cero.

      Un ejemplo simple de aplicación de la eliminación de Gauss-Jordan es el caso de una matriz tridiagonal, de la forma

      Si se cumple la condición de diagonal dominante para la matriz: |αi| > |γi| + |βi-1|, (para todo i), entonces el proceso de eliminación de Gauss-Jordan queda dado por el algoritmo de Thomas:

      Y la etapa de sustitución hacia atrás queda como

      Notas

      1) Este algoritmo no solo evita operaciones aritméticas innecesarias con elementos nulos de la matriz, sino que asimismo reduce la cantidad de almacenamiento requerido de O(n2) a O(5·n) aproximadamente, ya que almacena la matriz A como tres vectores α, β y γ. Este algoritmo está disponible en la rutina tridisolve desarrollada por Moler [1].

      2) Este enfoque se puede implementar de modo eficiente cuando la matriz original posee una estructura regular. Esta matriz tridiagonal aparece frecuentemente cuando se modelan balances de masa en procesos de separación, tales como destilación (Wang y Henke, [2]), absorción, extracción por solventes (Hanna y Sandall, [3]); igualmente aparece en problemas de contorno (ecuaciones diferenciales ordinarias o a derivadas parciales) cuando se usan métodos de diferencias finitas (capítulos 4 y 5).

      Ejemplo 1.2. Solución de un sistema tridiagonal

      Se remueve anilina desde una corriente acuosa usando tolueno como solvente extractor; los flujos de agua (F1) y tolueno (F2) son constantes (en base libre de soluto). La unidad de separación es una torre en contracorriente con 10 etapas de extracción, como se muestra en la Figura 1.1, con la siguiente notación:

      xi= kg de anilina en fase orgánica/kg de tolueno en fase orgánica.

      yi = kg de anilina en fase acuosa/kg de agua en fase acuosa.

      FIGURA 1.1. Esquema de la extracción líquido-líquido del ejemplo 1.2

      Los subíndices ‘i’ corresponden a las composiciones de las corrientes que salen de la etapa ‘i’ de extracción. Las ecuaciones del balance de masa en cada etapa ‘i’ se pueden poner como sigue:

      Donde K es el coeficiente de reparto de soluto entre ambas fases, supuesto constante en todas las etapas. Para las etapas 1 y 10 hay que considerar:

      Construya un macro que resuelva este sistema de ecuaciones y que grafique las concentraciones de anilina en ambas fases, en función del número de etapas, si se considera que K = 4 = constante.

      El macro siguiente en Matlab® permite resolver el sistema de ecuaciones 1.7 y 1.8 usando la rutina tridisolve de Moler [1], y los resultados se presentan en la Figura 1.2.

      % macro que resuelve el ejemplo 1.3

      F1=100; F2=10; xentra=0; yentra=0.05; K=4;

      % factor común que se emplea en los balances de masa

      alpha=F2*K/F1;

      % construcción del lado derecho del sistema de ecuaciones

      b=zeros(10,1);

      b(1)=-yentra;

      b(end)=-F2*xentra/F1;

      % construcción de las tres diagonales del sistema de ecuaciones

      e=ones(10,1);

      f=-(1+alpha)*e;

      g=alpha*e;

      % solución para las concentraciones {y_i}

      y=tridisolve(e,f,g,b);

      % solución para las concentraciones {x_i}

      x=K*y;

      % gráfico de las concentraciones de equilibrio en cada fase

      eje=1:10;

      plot(eje,x,’k-o’,eje,y,’k:^’);

      title(‘Extractor líquido-líquido’);

      xlabel(‘Número de etapa’);

      ylabel({‘concentraciones de soluto en equilibrio’;’kg soluto/kg fase’});

      ylim([0 0.25]);

      legend(‘fase orgánica’,’fase acuosa’,’Location’,’Best’);

      r=A*x-b;

      Nótese que basta con poner cinco etapas de equilibrio para que ya no haya más cambios en las concentraciones del soluto que se puede extraer en la fase orgánica; la salida de la fase acuosa es con una concentración y10 = 0.03 kg/kg. Se propone al lector construir una función de Matlab® que resuelva el caso general de N etapas de equilibrio para un extractor líquido-líquido, considerando que puede ingresar algo de soluto en el solvente (xENTRA > 0).

      FIGURA 1.2. Solución del sistema de ecuaciones 1.17 y 1.18

      El trabajo computacional en términos de multiplicaciones y adiciones es importante como una medida de la eficiencia del algoritmo. Para el caso de la eliminación de Gauss-Jordan en un sistema de n ecuaciones, tenemos que el número de operaciones está dado por:

      • Fase de eliminación: n3/3 + O(n2)

      • Fase de sustitución hacia atrás: n2/2 + O(n)

      Es decir, el número de operaciones crece con el cubo

Скачать книгу