Академический Документы
Профессиональный Документы
Культура Документы
clear; clc;
delta=1e-4;//Valor definitorio.
//Apndice. Funciones auxiliares.
function y=Densidad(x)//Clculo de densidad.
y=Q(1)*x.^2+Q(2)*x+Q(3);
endfunction
//function y=Densidad(x)//Clculo de densidad.
//
y=Q(1)*x.^3+Q(2)*x.^2+Q(3)*x+Q(4);
//endfunction
function y=Masa(x)//Clculo de la fraccin masa.
y=0.5;
while 1e-12<abs(Densidad(y)-x)
y=y-(Densidad(y)-x)/Derivada(y);
end
endfunction
function y=Derivada(x)//Clculo de la derivada (Densidad respecto a temperatura).
y=(Densidad(x+delta)-Densidad(x))/delta;
endfunction
function y=Const1(x)//Clculo de la constante de ajuste A.
y=A(1)*x.^2+A(2)*x+A(3)
endfunction
function y=Const2(x)//Clculo de la constante de ajuste B.
y=B(1)*x.^2+B(2)*x+B(3);
endfunction
function y=Const3(x)//Clculo de la constante de ajuste C.
y=C(1)*x.^2+C(2)*x+C(3);
endfunction
printf('\nAjuste entre fraccin masa y densidad; mezcla de Metanol y Agua.\n')
//0. Datos.
//Datos=[1.0000 0.9800 0.9400 0.9200 0.5800 0.5600 0.4600 0.0000;//Fraccin masa.
//0.7866 0.7930 0.8050 0.8100 0.8950 0.9000 0.9200 0.9971]';//Densidad (MetanolAgua, 25C).
printf('\n')
h=input('Temperatura (datos)... ')
if h==10
Datos=[0:1:100;//Fraccin masa.
0.99973 0.99785 0.99602 0.99426
524 0.98393 0.98267 0.98145 0.98026
363 0.97252 0.97139 0.97024 0.96907
125 0.95977 0.95823 0.95665 0.95502
431 0.94238 0.94042 0.93842 0.93639
379 0.92126 0.91943 0.91723 0.91502
154 0.89927 0.89698 0.89468 0.89237
839 0.87602 0.87365 0.87127 0.86888
442 0.85197 0.84950 0.84702 0.84453
919 0.82654 0.82386 0.82114 0.81839
0.99258
0.97911
0.96787
0.95334
0.93433
0.91279
0.89006
0.86648
0.84203
0.81561
0.99098
0.97800
0.96665
0.95162
0.93226
0.91055
0.88774
0.86408
0.83951
0.81278
0.98946
0.97692
0.96539
0.94986
0.93017
0.90831
0.88541
0.86168
0.83697
0.80991
0.98801
0.97583
0.96406
0.94805
0.92806
0.90607
0.88308
0.85927
0.83441
0.80698
0.98660
0.97473
0.96268
0.94620
0.92593
0.90381
0.88074
0.85685
0.83181
0.80399
0.98
0.97
0.96
0.94
0.92
0.90
0.87
0.85
0.82
0.80
0.98877
0.97552
0.96287
0.94650
0.92640
0.90433
0.88130
0.85747
0.83271
0.80566
0.98729
0.97433
0.96144
0.94464
0.92426
0.90207
0.87895
0.85505
0.83014
0.80274
0.98584
0.97313
0.95996
0.94273
0.92211
0.89980
0.87660
0.85262
0.82754
0.79975
0.98780
0.97387
0.96020
0.94306
0.92257
0.90031
0.87713
0.85322
0.82840
0.80138
0.98627
0.97259
0.95867
0.94114
0.92041
0.89803
0.87477
0.85079
0.82583
0.79846
0.98478
0.97129
0.95710
0.93919
0.91823
0.89574
0.87241
0.84835
0.82323
0.79547
0.98656
0.97199
0.95738
0.93952
0.91868
0.89621
0.87291
0.84891
0.82405
0.79706
0.98500
0.97062
0.95576
0.93756
0.91649
0.89392
0.87054
0.84647
0.82148
0.79415
0.98346
0.96923
0.95410
0.93556
0.91429
0.89162
0.86817
0.84403
0.81888
0.79117
0.98507
0.96990
0.95442
0.93591
0.91472
0.89206
0.86863
0.84455
0.81965
0.79271
0.98347
0.96844
0.95272
0.93390
0.91250
0.88975
0.86625
0.84211
0.81708
0.78981
0.98189
0.96697
0.95098
0.93186
0.91028
0.88744
0.86387
0.83966
0.81448
0.78684
0.98335
0.96760
0.95133
0.93221
0.91069
0.98172
0.96607
0.94955
0.93016
0.90845
0.98009
0.96452
0.94774
0.92808
0.90621
0.90396 0.90168 0.89940 0.89710 0.89479 0.89248 0.89016 0.88784 0.88552 0.88319
0.88085 0.87851 0.87615 0.87379 0.87142 0.86905 0.86667 0.86429 0.86190 0.85950
0.85710 0.85470 0.85228 0.84986 0.84743 0.84500 0.84257 0.84013 0.83768 0.83523
0.83277 0.83029 0.82780 0.82530 0.82279 0.82027 0.81774 0.81519 0.81262 0.81003
0.80742 0.80478 0.80211 0.79941 0.79669 0.79393 0.79114 0.78831 0.78542 0.78247
0.77946 0.77641]';//Densidad (g/ml; Etanol-Agua, 35C).
elseif h==40
Datos=[0:1:100;//Fraccin masa.
0.99225 0.99034 0.98846 0.98663 0.98485 0.98311 0.98142 0.97975 0.97808
0.97641 0.97475 0.97312 0.97150 0.96989 0.96829 0.96670 0.96512 0.96352 0.96189
0.96023 0.95856 0.95687 0.95516 0.95343 0.95168 0.94991 0.94810 0.94625 0.94438
0.94248 0.94055 0.93860 0.93662 0.93461 0.93257 0.93051 0.92843 0.92634 0.92422
0.92208 0.91992 0.91774 0.91554 0.91332 0.91108 0.90884 0.90660 0.90434 0.90207
0.89979 0.89750 0.89519 0.89288 0.89056 0.88823 0.88589 0.88356 0.88122 0.87888
0.87653 0.87417 0.87180 0.86943 0.86705 0.86466 0.86227 0.85987 0.85747 0.85407
0.85266 0.85025 0.84783 0.84540 0.84297 0.84053 0.83809 0.83564 0.83319 0.83074
0.82827 0.82578 0.82329 0.82079 0.81828 0.81576 0.81322 0.81067 0.80811 0.80552
0.80291 0.80028 0.79761 0.79491 0.79220 0.78947 0.78670 0.78388 0.78100 0.77806
0.77507 0.77203]';//Densidad (g/ml; Etanol-Agua,40C).
else
printf('\nContine; los datos a la temperatura solicitada no se encuentran en
la base de datos.\n')
Datos=[0:1:100;//Fraccin masa. Datos de cabecera.
0.99225 0.99034 0.98846 0.98663 0.98485 0.98311 0.98142
641 0.97475 0.97312 0.97150 0.96989 0.96829 0.96670 0.96512
023 0.95856 0.95687 0.95516 0.95343 0.95168 0.94991 0.94810
248 0.94055 0.93860 0.93662 0.93461 0.93257 0.93051 0.92843
208 0.91992 0.91774 0.91554 0.91332 0.91108 0.90884 0.90660
979 0.89750 0.89519 0.89288 0.89056 0.88823 0.88589 0.88356
653 0.87417 0.87180 0.86943 0.86705 0.86466 0.86227 0.85987
266 0.85025 0.84783 0.84540 0.84297 0.84053 0.83809 0.83564
827 0.82578 0.82329 0.82079 0.81828 0.81576 0.81322 0.81067
291 0.80028 0.79761 0.79491 0.79220 0.78947 0.78670 0.78388
7507 0.77203]';//Densidad (g/ml; Etanol-Agua,40C).
end
//1. Clculos.
R=[sum(Datos(:,1).^4) sum(Datos(:,1).^3) sum(Datos(:,1).^2);
sum(Datos(:,1).^3) sum(Datos(:,1).^2) sum(Datos(:,1));
sum(Datos(:,1).^2) sum(Datos(:,1)) length(Datos(:,1))];
s=[sum(Datos(:,2).*Datos(:,1).^2) sum(Datos(:,2).*Datos(:,1)) sum(Datos(:,2))]';
//A=[sum(Datos(:,1).^6) sum(Datos(:,1).^5) sum(Datos(:,1).^4) sum(Datos(:,1).^3)
;
//sum(Datos(:,1).^5) sum(Datos(:,1).^4) sum(Datos(:,1).^3) sum(Datos(:,1).^2);
//sum(Datos(:,1).^4) sum(Datos(:,1).^3) sum(Datos(:,1).^2) sum(Datos(:,1));
//sum(Datos(:,1).^3) sum(Datos(:,1).^2) sum(Datos(:,1)) length(Datos(:,1))];
//b=[sum(Datos(:,2).*Datos(:,1).^3) sum(Datos(:,2).*Datos(:,1).^2) sum(Datos(:,2
).*Datos(:,1)) sum(Datos(:,2))]';
Q=R\s;
Resultados=Densidad(Datos(:,1));
Error=abs(100*(Resultados-Datos(:,2)).*Resultados.^-1);
//3. Resultados.
printf('\n ---Fraccin masa-------Densidad------Densidad ajustada--------Error--\n')
for i=1:length(Datos(:,1))
printf('\n\t %0.4f \t %0.3f
,Resultados(i),Error(i))
end
\t
%0.3f \t\t%0.4f',Datos(i,1),Datos(i,2)
Resultados=Densidad(Datos(:,1));
//Nuevos resultados.
Compare=0;
if w==h
printf('\n')
printf('\nSi desea comparar respecto a datos experimentales, presione 1\
n')
Compare=input('de lo contrario, presione otra cifra... ')
end
if Compare==1
Error=abs(100*(Resultados-Datos(:,2)).*Resultados.^-1);
printf('\nAjuste entre fraccin masa y densidad; mezcla de Etanol y Agua.\
n')
printf('\n ---Fraccin masa-------Densidad------Densidad ajustada-------Error---\n')
for i=1:length(Datos(:,1))
printf('\n\t %0.4f \t %0.3f
tos(i,2),Resultados(i),Error(i))
end
\t
%0.3f \t\t%0.4f',Datos(i,1),Da
else
printf('\nAuf viedersehen!\n')
end