Quiz 1 Con Seudocodigo

21
QUIZ DOS DE OPERACIONES UNITARIAS I Presentado por: Saúl Pérez Beltrán 2040775 Ronald Julián Sarmiento 2042130 Presentado a: Prof. Crisóstomo Barajas UNIVERSIDAD INDUSTRIAL DE SANTANDER FACULTAD DE CIENCIAS FISICOQUIMICAS ESCUELA DE INGENIERIA QUIMICA BUCARAMANGA Febrero 11 de 2008

description

opus humidf

Transcript of Quiz 1 Con Seudocodigo

Page 1: Quiz 1 Con Seudocodigo

QUIZ DOS DE OPERACIONES UNITARIAS I

Presentado por:

Saúl Pérez Beltrán

2040775

Ronald Julián Sarmiento

2042130

Presentado a:

Prof. Crisóstomo Barajas

UNIVERSIDAD INDUSTRIAL DE SANTANDER

FACULTAD DE CIENCIAS FISICOQUIMICAS

ESCUELA DE INGENIERIA QUIMICA

BUCARAMANGA

Febrero 11 de 2008

Page 2: Quiz 1 Con Seudocodigo

Quiz 2

AJUSTE LA MEJOR FUNCION PARA LOS DATOS DE RETENCION:

Para lograr realizar el ajuste de una función a los datos experimentales, se ha generado un algoritmo en scilab 4.1-2 (adjunto al final), que se fundamenta en la regresión por mínimos cuadrados.

A partir de las graficas generadas para cada problema, (“X vs. r (solución retenida)” y “X vs. N = 1/r”) se estima visualmente cuál de estas presenta mayor bondad al ajuste por mininos cuadrados, se procede a ajustar la grafica seleccionada.

Para determinar cual polinomio se ajusta mejor a la grafica seleccionada, se ha tomado como parámetro el coeficiciente de determinación para la regresión, escogiendo el que más se aproxime a la unidad, este será el polinomio seleccionado.

1- Se ha de extraer aceite de hígado de pescado en un aparato de extracción continuo en contracorriente, empleando como solvente Éter etílico con 3 % de aceite. Al sistema de extracción entran 500 kg/h de hígados que contienen 25% en peso de aceite (sobre base de solvente. Si la cantidad de solvente empleado es de 400kg/h, y la composición de refinado separado como flujo inferior es de 1% en peso de aceite (sobre base libre en solvente).

Soluto: kg aceite de hígado

Solvente: kg Éter etílico con 3% de aceite

Inerte: kg hígado de pescado

Solución: kg soluto +kg solvente

La cantidad de solución retenida por lo hígados, determinada experimentalmente, esta reportada en la tabla siguiente:

Tabla 1: datos experimentales

Page 3: Quiz 1 Con Seudocodigo

En donde X = kg soluto / kg solución y N = kg inerte / kg solución

Graficas generada a partir de la tabla 1:

Figura 1: X vs. r (solución retenida)

Page 4: Quiz 1 Con Seudocodigo

Figura 2: X vs. N = 1/r

Figura 3: Función ajustada a los datos experimentales

Page 5: Quiz 1 Con Seudocodigo

Datos de la regresión:

Orden del polinomio interpolante R2 (coeficiente de determinación)1 0.98409133 0.9986457

Polinomio seleccionado:

N (X )=26.26994+7.4726057∗X+3.5620643∗X2+1.9820213∗X3

2- mediante la reacción Na2CO3+CaO+H2O→CaCO3+NaOH se obtiene una suspensión de CaCO3en solución de NaOH . Se prentende separar el 95% del NaOHempleando una batería de 4 extractores en contracorriente con agua como agente extractor. Al primer Extractor entran los productos de la reacción acompañados de 0.5 kg agua / kg de CaCO3. En las condiciones de extracción la cantidad de líquido retenida por el CaCO3 es función de la concentración de la solución, de acuerdo a los siguientes datos:

Soluto: kg NaOH

Solvente: kg agua

Inerte: kg CaCO3

Solución: kg soluto +kg solvente

Tabla de datos:

Page 6: Quiz 1 Con Seudocodigo

Graficas

Figura 4: X vs. N = 1/r

Page 7: Quiz 1 Con Seudocodigo

Figura 5: X vs. r (solución retenida)

Figura 6: Función ajustada a los datos experimentales

Page 8: Quiz 1 Con Seudocodigo

Datos de la regresión:

Orden del polinomio interpolante R (coeficiente de determinación)2 0.99779683 0.9991988

Polinomio seleccionado:

r (X )=1.5057143+0.0373810∗X+0.0007143∗X2+0.0001333∗X3

N ( x )= 1r ( x )

= 11.5057143+0.0373810∗X+0.0007143∗X2+0.0001333∗X3

3- se ha de proyectar una instalación de extracción en múltiples etapas con funcionamiento en contracorriente para tratar 500 kg/h de producto pulverulento de composición 20 % en peso de aceite y 77% de materia inerte. Como solvente se emplea benceno con un 2% en peso de aceite, y en el extracto ha de separarse el 90% de aceite contenido en la alimentación (Ro). De las experiencias realizadas en laboratorio en condiciones análogas se ha encontrado que la cantidad de líquido retenida por los sólidos depende de la concentración del siguiente modo:

Tabla:

Page 9: Quiz 1 Con Seudocodigo

Graficas:

Figura 8: X vs. r (solución retenida)

Figura 9: Función ajustada a los datos experimentales

Figura 7: X vs. r (solución retenida)

Page 10: Quiz 1 Con Seudocodigo

Regresión:

Orden del polinomio interpolante R (coeficiente de determinación)3 0.9986788

2 0.9984014

Polinomio seleccionado:

r (X )=0.4004545+0.0761905∗X+0.0811688∗X2+0.0757576∗X3

N ( x )= 1r ( x )

= 10.4004545+0.0761905∗X+0.0811688∗X2+0.0757576∗X3

4- Una harina de pescado contiene aceite que a de extraerse con benceno operando en múltiples etapas en corriente directa. Experimentalmente se ha encontrado que la disolución retenida por el solido inerte es función de la composición de la disolución, de acuerdo con los siguientes datos:

Tabla de datos

Page 11: Quiz 1 Con Seudocodigo

Graficas

Figura 11: X vs. r (solución retenida)

Figura 12: Función ajustada a los datos experimentales

Figura 10: X vs. N = 1/r

Page 12: Quiz 1 Con Seudocodigo

Datos de la Regresión:

Orden del polinomio interpolante R (coeficiente de determinación)3 0.9999480

2 0.9988688

Polinomio seleccionado:

r (X )=0.5000606+0.0153968∗X+0.3322511∗X2±0.1565657∗X3

N ( x )= 1r ( x )

= 10.5000606+0.0153968∗X+0.3322511∗X2±0.1565657∗X3

Código scilab 4.1-2 que ha generado la solución:

clear

m = input('Cantidad de datos a interpolar: ');//cantidad de parejas

for i = 1:1:m

disp(i,'pocision del dato: ');

x(i) = input('variable independiente: ');

y(i) = input('variable dependiente: ');

end

for i = 1:1:length(y)

N(i) = 1/y(i);

end

scf(0);

plot2d(x,N,style= -1)

scf(1);

plot2d(x,y,style = -2);

Page 13: Quiz 1 Con Seudocodigo

disp(' X r N = 1/r ');

disp([x y N]);

ss = input('en cual hacer la regresion: ')

if ss == 1

scf(0);

y = N;

end

kkk = 1;

continuar = 1;

while continuar ==1;

n = input('orden del polinomio interpolante: ');

clear A

clear B

clear coef

A = zeros(n+1,n+1);

A(1,1) = m;

k = 1;

for j =2:1:n+1

A(1,j) = sum(x^k);

k = k+1;

end

Page 14: Quiz 1 Con Seudocodigo

k = 0;

for i = 2:1:n+1

kk = 1;

for j = 1:1:n+1

A(i,j) = sum(x^(k+kk));

kk = kk + 1;

end

k = k+1;

end

d = 0;

for i = 1:1:n+1

productos = 0;

for j = 1:1:m

productos = productos + (x(j))^d*y(j);

end

B(i,1) = productos;

d = d+1;

end

coef = inv(A)*B ;

if n == 1

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X");

elseif n ==2

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2");

elseif n == 3

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3");

elseif n == 4

Page 15: Quiz 1 Con Seudocodigo

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4");

elseif n == 5

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5");

elseif n == 6

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6");

elseif n == 7

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7");

elseif n == 8

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7+coef(9)*X^8");

elseif n == 10

deff("[Y]=f(X)","Y=coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7+coef(9)*X^8+coef(10)*X^9+coef(11)*X^10");

end

X = linspace(x(1),x(length(x)),1000)';

//graficas

plot(X,f);

set(gca(),"auto_clear","off");

plot2d(x,y,style = -2);

i = input('desea ver los datos interpolados (si = 1 no = 0)');

if i ==1

disp([' x y(interpolado)']);

disp([X f(X)]);

end

Page 16: Quiz 1 Con Seudocodigo

disp('para evaluar la funcion regresada en un punto cualquiera haga lo siguiente: ')

disp('');

disp('myfun(x) ');

/////////////////////////para calular la derivada si es necesario

if n == 1

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X

endfunction

elseif n ==2

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2

endfunction

elseif n == 3

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3

endfunction

elseif n == 4

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4

endfunction

elseif n == 5

function funcion=myfun(X)

Page 17: Quiz 1 Con Seudocodigo

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5

endfunction

elseif n == 6

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6

endfunction

elseif n == 7

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7

endfunction

elseif n == 8

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7+coef(9)*X^8

endfunction

elseif n == 10

function funcion=myfun(X)

funcion = coef(1) + coef(2)*X + coef(3)*X^2+ coef(4)*X^3+coef(5)*X^4+coef(6)*X^5+coef(7)*X^6+coef(8)*X^7+coef(9)*X^8+coef(10)*X^9+coef(11)*X^10

endfunction

end

//calculo del coeficiente de determinacion

y_media = sum(y)/length(y);

Page 18: Quiz 1 Con Seudocodigo

numerador = 0;

denominador = 0;

for i = 1:1:length(x)

numerador = numerador + (myfun(x(i))-y_media)^2;

denominador = denominador + (y(i)-y_media)^2;

end

r_cuadrado(kkk) = numerador/denominador;

disp(r_cuadrado(kkk),'coeficicente de determinacion de la regresion: ');

//analisis de varianza de la regrecion

continuar = input('desea generar otro polimonio interpolante para estos datos: ')

kkk = kkk+1;

end