Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Primer ejercicio
Se uso el comando fminsearch de Matlab para dar solución al problema, obteniendo los
parámetros de ajuste evidenciados en la Tabla 1.
Con el propósito de visualizar la calidad del ajuste, se graficó el volumen experimental contra
volumen calculado usando el modelo (Figura 1).
Figura 1: Grafico del volumen experimental contra volumen calculado (◊). La línea continua
representa el comportamiento de los datos cuando el R2 es 1.
A continuación se muestra el algoritmo de Matlab usado:
clear; clc;
%Datos
Data = xlsread('04 - Datos de regresion no lineal','Ejercicio 1','A2:C22');
v = Data(:,1); v = v*(72)*(1/1000);
T = Data(:,3); T = T + 273.15;
P = Data(:,2);
R = 0.082057; %unidades de (atm*L)/(mol*K)
for i = 1:100
opt=optimset('TolFun',0,'TolX',0,'Maxiter',10^(1e10));
Coeff = fminsearch(EOS,Bo,opt);
clc;
Bo = Coeff;
end
vo = (R*T)./P;
v_Model = zeros(21,1);
for i = 1:length(P)
EOS_Model = @(V)(R*T(i))./(V-Coeff(1)) - Coeff(2)./((T(i).^Coeff(3)).*V.^2)-
P(i);
v_Model(i) = fsolve(EOS_Model,vo(i));
clc;
end
plot(v_Model,v,'kd')
x = [min(v); max(v)];
y = x;
hold on
plot(x,y,'k-')
ylabel('volumen molar experimental (L/mol)')
xlabel('volumen molar calculado (L/mol)')
disp(t);
Problema 2
Para calcular los parámetros de la función a trozos, primero se separaron los datos en dos
grupos, cuando ∑xi > 150 y cuando ∑xi < 150. Luego, se estimaron los parámetros de ajuste
para cada uno de los casos. En la Tabla 2, se evidencian los parámetros de ajuste obtenidos
al usar el comando fminsearch de Matlab.
Tabla 2: Parámetros de la función a trozos.
Parámetro Valor numérico
Cuando ∑xi es mayor a 150
a1 -1.5341 X103
a2 13.0123
a3 0.0401
Cuando ∑xi es menor a 150
a1 149.9560
a2 12.0989
a3 0.0458
Figura 2: Grafico de y experimental contra y calculado (◊) cuando ∑xi > 150. La línea
continua representa el comportamiento de los datos cuando el R2 es 1.
Figura 3: Grafico de y experimental contra y calculado (◊) cuando ∑xi < 150. La línea
continua representa el comportamiento de los datos cuando el R2 es 1.
clear; clc;
ao = [100 10 0.05];
opt=optimset('TolFun',0,'TolX',0,'Maxiter',10^(1e10));
a1 = fminsearch(F1,ao,opt);
y1 = [y F(a1)];
r1 = [min(y) max(y)]';
ao = [100 10 0.05];
opt=optimset('TolFun',0,'TolX',0,'Maxiter',10^(1e10));
a2 = fminsearch(F1,ao,opt);
y2 = [y F(a2)];
r2 = [min(y) max(y)]';
clc;
subplot(1,2,2),plot(y2(:,2),y2(:,1),'kd')
hold on
plot(r2,r2,'k-')
xlabel('valor de y calculada')
ylabel('valor de y experimental')
hold off
a1 = a1'; a2 = a2';
T = table(a1,a2);
disp(T)