¼ÆËã»úÔÚ»¯Ñ§»¯¹¤ÖеÄÓ¦ÓÃ
½á¿Î×÷Òµ
רҵÓë°à¼¶»¯¹¤61201 ÐÕÃû ÕÅÈý ÐòºÅ 03 ³É¼¨
¼×´¼¡ª¿·È©¶þÔªÌåϵÆûҺƽºâµÄÄ£Äâ¼ÆËã
Ò»¡¢ÎÊÌâÃèÊö
1. ÆûÒºÏàÆ½ºâÊý¾ÝµÄ²â¶¨ ¿·È©ÊÇÖØÒªµÄ»¯¹¤ÔÁÏ,ÓÉÅ©ÁÖ¸±²úÎïË®½âËùµÃµÄ¿·È©ÔÒºÖÐ,³ýÁË¿·È©¡¢Ë®ºÍ¼×´¼¡£ÎªÁË¿·È©¾«ÁóϵͳµÄÉè¼ÆºÍÑо¿ÉÏ£¬±ØÐëÓÐÆûÒºÏàÆ½ºâÊý¾Ý¡£µ«ÆäÖп·È©Ò»Ë®ÔÚ¼×´¼Ò»¿·È©ÌåϵµÄÊý¾Ý¡£¼×´¼Ò»¿·È©Ò»Ë®ÌåϵµÄÊý¾ÝÒ²´æÔÚ²»ÉÙÎÊÌâ¡£Òò´Ë,²â¶¨ÁËÕ⼸¸öÌåϵµÄÆûÒºÏàÆ½ºâÊý¾Ý,²¢²â¶¨Á˲¿·Ö¼×´¼Ò»¿·È©Ò»Ë®Ò»´×ËáÐÝϵµÄÆûÒºÏàÆ½ºâÊý¾Ý¡£ ÔÚÉÏÊöÐÝϵÖÐ,¿·È©¶þˮΪ²¿·Ö»¥ÈÜÌåϵ,¼×´¼Ò»¿·È©ÊǷеã½ÏΪÐüÊâµÄÌåϵ¡£ 2.ÒÔ¼×´¼¡ª¿·È©¶þÔªÌåϵ½øÐÐÄ£Äâ¼ÆË㣺
ʵÑéÊý¾ÝÈçÏ£º
±íÒ» ¼×´¼¡ª¿·È©¶þÔªÌåϵÆûҺƽºâÊý¾Ý
T/K 434.18 380.45 358.15 351.35 347.95 347.15 345.15 343.60 341.15 339.95 337.85
x£¨CH3OH£©
0.0000 0.2421 0.4650 0.5282 0.6706 0.7483 0.8344 0.8609 0.9293 0.9807 1.0000
y(CH3OH) 0.0000 0.9540 0.9754 0.9832 0.9867 0.9922 0.9911 0.9941 0.9968 0.9982 1.0000
±í¶þ ÄâºÏ°²ÍÐÒò³£ÊýµÄζȺͱ¥ºÍÕôÆøÑ¹Êý¾Ý T/K 334 344 354 364 374 384 ±¥ºÍÕôÆøÑ¹£¨CH3OH£© 87666 129523 186643 262930 362874 491559 ±¥ºÍÕôÆøÑ¹C5H4O2() 2368 3860 6095 9349 13968 20373 394 404 414 424 434 654682 858571 1110200 1417218 1787975 29066 40639 55774 75245 99925 ¶þ¡¢½â¾ö˼·
1.ÔÚ½øÐа²ÍÐÒò³£ÊýµÄÄâºÏʱ£¬µ÷ÓøñʽΪ£ºbeta = lsqnonlin (X,y,fun,beta0)µÄlsqnonlinº¯Êý£¬ÓÃ×îС¶þ³Ë·¨ÄâºÏ°²ÍÐÒò·½³Ì£º
lnpisat?A?BTi?C £¨1£©
2.ÔÚ¼ÆËã¶ÔÓ¦µÄÆøÏà×é³Éʱ£¬ÏÈÒª¼ÆËã³ö¶ÔÓ¦µÄ»î¶ÈϵÊý²ÎÊý¦«12,¦«21¡£ ÈôÔÚ³£Ñ¹Ï£¬p = 101.3 Kpa£¬ÆûÏà¿ÉÒÔµ±×÷ÀíÏëÆøÌå´¦Àí£¬ÔòÆûÒºÏàÆ½ºâ·½³Ì¿ÉÒÔдΪ
pyi?xi?ipisat £¨2£©
Ñ¡Óà Wilson ·½³ÌÀ´¼ÆËã»î¶ÈϵÊý. ¶Ô¶þÔªÎïϵ¶øÑÔ£¬·½³ÌÐÎʽÈçÏ£º
?12?21ln?1??ln(x1?x2?12)?x£¨-£©2x1?x2?12x2?x1?12 £¨3£©
ln?2??ln(x2?x1?21)?x£¨1?21?12-£©x2?x1?21x1?x2?12 £¨4£©
¼´¿ÉÒÔÏÈWilson·½³ÌÓÃ×îС¶þ³Ë·¨·ÇÏßÐÔÄâºÏ¼ÆËã³öÅäż²ÎÊý¦«12£¬¦«21¡£ÔÙ´øÈ루3£©ÖÐÇó³ö¦Ã1£¬È»ºóÔÙ´øÈ루2£©ÖÐÇó³ö¶ÔÓ¦µÄy1¡£ 3.ÔÚMatlabÖÐÖ÷Òªº¯ÊýµÄ˵Ã÷£º
a. function £º´´½¨º¯ÊýÃüÁî¡£¶¨ÒåµÄÒ»°ã¸ñʽ£º
function [y1,y2,?,yn] = FuncName(x1,x2,?,xn) % º¯ÊýÉùÃ÷Óï¾ä
y1 = ? % £¨±í´ïʽ 1 £© y2 = ? % £¨±í´ïʽ 2 £© ?
yn = ? % £¨±í´ïʽ n £©ÆäÖУ¬ ÊäÈë²ÎÊýΪ x1£¬x2£¬?£¬xn, Êä³ö²ÎÊýΪy1£¬y2£¬?£¬yn ¡£ ¸÷²ÎÊý¿ÉÒÔÊDZêÁ¿¡¢ ÏòÁ¿»ò¾ØÕó¡£Èôº¯ÊýÖ»ÓÐÒ»¸ö·µ»Ø½á¹û£¬ÉùÃ÷Óï¾ä¿ÉÒÔдΪ£º
function y = FuncName(x1,x2,?,xn) ÈôûÓзµ»Ø½á¹û£¬ÉùÃ÷Óï¾äдΪ£º
function FuncName(x1,x2,?,xn) % È¥µôÊä³ö²ÎÊý±í¼°µÈºÅ»ò function [] = FuncName(x1,x2,?,xn) % ʹÓÿյÄÖÐÀ¨ºÅ¡° [] ¡±
b. global £ºÈ«¾Ö±äÁ¿£¬È«¾Ö±äÁ¿¶ÔÓÚÕû¸ö³ÌÐòµÄËùÓйý³ÌºÍº¯Êý¶¼ÓÐЧµÄ¡£
c. for £ºÑ»·½á¹¹ÓÃÓÚÑ»·´ÎÊýÒÑÖªµÄÇé¿ö£¬ÆäÒ»°ã¸ñʽÈçÏ£º for Ñ»·±äÁ¿ = ±í´ïʽ 1£¨³õÖµ£©£º±í´ïʽ 2£¨²½³¤£©£º±í´ïʽ 3£¨ÖÕÖµ£©
statements £¨Óï¾ä×飩 end
d. lsqnonlin £º×îС¶þ³Ë·¨·ÇÖ±ÏßÄâºÏº¯Êý£¬ÆäÒ»°ã¸ñʽΪ£º[x, resnorm, residual, exitflag, output, lanbda,jacobian] =lsqnonlin (@fun, x0, LB, UB, options,p1, p2, ) ÔÚÕâ¸ö³ÌÐòÖУ¬ÊäÈë±äÁ¿ÖÐÖ»ÓÐfun£¬ºÍx0ÊDz»¿ÉȱʡµÄ, fun ÊǸø³öÏòÁ¿º¯ÊýµÄº¯ÊýÃû£¬x0ÊÇ x µÄ³õÖµ£®Êä³ö×ÚÁ¿ÖÐÖ»ÓÐ x ÊDz»¿ÉȱʡµÄ£¬ËüÊÇÎÊÌâµÄ½â¡£
Èý¡¢±à³Ì¼ÆËã
1.°²ÍÐÒò³£ÊýµÄÄâºÏ
¼×´¼°²ÍÐÒò³£ÊýµÄ¼ÆËã function atoinnfit global t ps1 t=[334:10:434]
ps1=[87666 129523 186643 262930 362873 491558.78 654682 858571 1110200 1417218 1787974] a=10; b=1000; c=-10;
a0=[10,1000,-10]; aa=lsqnonlin(@obj,a0)
psc=exp(aa(1)-aa(2)./(aa(3)+t)) plot(1:11,psc,1:11,ps1,'^')
function e=obj(aa,t) global t ps1 for i=1:11
e(i)=exp(aa(1)-aa(2)./(aa(3)+t(i)))-ps1(i); end
¿·È©°²ÍÐÒò³£ÊýµÄ¼ÆËã function atoinnfit global t ps1 t=[334:10:434]
ps1=[2368 3860 6095 9349 13968 20373 29066 40639 55774 75245 99925] a=10; b=1000; c=-10;
a0=[10,1000,-10]; aa=lsqnonlin(@obj,a0)
psc=exp(aa(1)-aa(2)./(aa(3)+t)) plot(1:11,psc,1:11,ps1,'^')
function e=obj(aa,t) global t ps1 for i=1:11
e(i)=exp(aa(1)-aa(2)./(aa(3)+t(i)))-ps1(i); end
1.°²ÍÐÒò³£ÊýÄâºÏÊý¾ÝÈçÏ£º
ÎïÖÊ ¼×´¼ ¿·È©
2.Wilson»î¶ÈϵÊýÄ£Ð͵ÄÅäż²ÎÊýÄâºÏ£¬¼ÆËã³ö¶ÔÓ¦µÄ¼ÆËãÖµ£¬ÒÔͼÐη½Ê½±È½Ï¼ÆËãÖµÓëʵÑéÖµµÄ²î±ð¡£ function dycss2
global x1 y1e T A p er meandr y1c n p1c a0 ps1 ps2 x2
x1=[0.0000 0.2421 0.4650 0.5282 0.6706 0.7483 0.8344 0.8609 0.9293 0.9807 1.0000]; y1e=[0.0000 0.9540 0.9754 0.9830 0.9867 0.9922 0.9911 0.9941 0.9968 0.9982 1.0000]; T=[434.18 380.45 358.15 351.35 347.95 347.15 345.15 343.60 341.15 339.95 337.85];
p=[101325 101325 101325 101325 101325 101325 101325 101325 101325 101325 101325]; A=[19.2 1172.1 -191.8 16.6 1089.9 -222.1]; a0=[1 1];% »î¶ÈϵÊýµÄ³õÖµ a=lsqnonlin(@css,a0)
y1c=(ps1.*x1.*exp(a(1).*x2./(x1+a(1).*x2)))./(p.*(x1+a(1).*x2).*exp(a(2).*x2./(x2+a(2).*x1))) er=y1e-y1c
p1c=(ps1.*x1.*exp(a(1).*x2./(x1+a(1).*x2)))./(y1e.*(x1+a(1).*x2).*exp(a(2).*x2./(x2+a(2).*x1))) meandr=sum(er)/n(2)
plot(1:11,y1e,'r',1:11,y1c,'^') function z=css(a)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% global x1 y1e T A p er meandr y1c n p1c ps1 ps2 x2
A 19.2 16.6
B 1172.1 1089.9
C -191.8 -222.1
Ïà¹ØÍÆ¼ö£º