FUNCTION:
function P = preos_P(V, T, Pc, Tc, w)
R = 8.314;
Tr = T./Tc;
a = 0.4572355289.*(R.^2.*T.^2./Pc);
b = 0.0777960739*(R.*Tc./Pc);
k= 0.37464+1.54226.*w-0.26992.*w.^2;
alpha = (1+k.*(1-Tr.^1/2)).^2;
P = (R.*T./(V-b))-(alpha.*a)/(V.^2+2.*b.*V-b.^2);
end
% takes inputs of temperature (T ), volume (V ), critical pressure (Pc),
% critical temperature (Tc), and acentric factor (w) and returns the pressure.
SCRIPT:
% takes inputs of temperature (T ), volume (V ), critical pressure (Pc),
% critical temperature (Tc), and acentric factor (w)
% and returns the pressure.
clear; clc
T = linspace(273, 373, 100)'; %Temperature in K
Tc = [304.2 190.6 419.6];
Pc = [7.382 4.604 4.02];
w = [0.228 0.011 0,187];
V = .1*1000;
R = 8.314;
P = preos_P (V, T, Pc, Tc, w);
Ps = P;
Ts = T;
plot(Ts,Ps)
legend('carbon dioxide', 'methane', '1-butene', 'Location', 'NorthWest')
title ('[ressures of gases')

 Accepted Answer

madhan ravi
madhan ravi on 8 Feb 2019
Edited: madhan ravi on 8 Feb 2019
  • T has 100 elements whereas Tc has only 3 (reason for the error) , both should have same number of elements
T./Tc % here
  • Matlab interprets that w has 4 elements
w = [0.228 0.011 0,187];
% ^----- has to be a dot
If all the above statements are fulfilled plot can be expected.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!