%% Polynomietilpasning % Polynomietilpasning af kogepunktstemperatur vs. tryk clear close all load kogepunktsdata p = tryk; Tsat = kogepunktstemperatur; pf = tryk_nodes; Tsf = kogepunkt_nodes; %% Dannelse af Lagrange polynomier. % Her er polynomierne lavet direkte i script. Kan dette laves som en function? %% % % $$p(x) = \sum_{j=0}^N f(x_j)l_j(x)$$ % pl = 0; for jj = 1:4 c(jj) = 1; z = []; l = 1; for kk = 1:4 if kk~=jj c(jj) = c(jj)/(pf(jj)-pf(kk)); l = conv(l,[1 -pf(kk)]); end end pol(jj,:) = l*c(jj); pl = pl+Tsf(jj)*l*c(jj); end % beregning af værdier med Lagrange polynomium Tslag = polyval(pl,p); %% Plotning af resultater figure(1) plot(p,Tsat,p,Tslag,pf,Tsf,'*') xlabel('Tryk i bar') ylabel('Temperatur i Celsius') title('Kogepunkt som funktion af tryk og Lagrange tilpasning') %% Tilpasning med polyfit pp = polyfit(p,Tsat,3) Tspp = polyval(pp,p); figure(2) plot(p,Tsat,p,Tspp,pf,Tsf,'*') xlabel('Tryk i bar') ylabel('Temperatur i Celsius') title('Kogepunkt som funktion af tryk og polyfit tilpasning') %% Omvendt tilpasning: tryk som funktion af kogepunktstemperatur pp = polyfit(Tsat,p,3) ppp = polyval(pp,Tsat); figure(3) plot(p,Tsat,ppp,Tsat) xlabel('Tryk i bar') ylabel('Temperatur i Celsius') title('Tryk (x-akse) som funktion af Kogepunkt, omvendt tilpasning') figure(4) plot(p,Tsat,p,Tspp,pf,Tsf,'*',p,30+55*sqrt(p)) xlabel('Tryk i bar') ylabel('Temperatur i Celsius') title('Kogepunkt som funktion af tryk og polyfit tilpasning')