clc
clear all
close all
% Make sure the file is below path, Very important
f1 = fopen('E:\Matlab_Project\NASATHERMO.txt','r');
%rading of DATA
fgetl(f1);
A = fgetl(f1);
A = strsplit(A,' ');
for i=1:length(A)
global_temp(i)= str2double(A{i});
end
for k=3:5
comment=fgetl(f1);
end
for i=1:4:216
main = fgetl(f1);
main = strsplit(main,' ');
for k=1:length(main)
Data1(i,k) = string(main(k));
end
for j=i+1:i+3
temp = fgetl(f1);
flag = strfind(temp,'E');
for k=1:length(flag)
flag1 = temp(flag(k)-11:flag(k)+3);
Data2(j,k) = str2double(flag1);
end
end
end
for i = 1:length(Data1)
Element(i,1)= Data1(i,1);
end
Element = rmmissing(Element);
% Convert 3*5 array into 1*14
for i = 2:4:length(Data2)
c = (i+2)/4;
for k=1:5
Data2(c,k) = Data2(i,k);
for k=6:10
Data2(c,k) = Data2(i+1,k-5);
for k= 11:14
Data2(c,k) = Data2(i+2,k-10);
end
end
end
end
for i=54:length(Data2)
for k=1:14
Data2(i,k) = [0];
end
end
R = 8.314;
opt = input(' Is the temperature as per Default global temp? Y/N','s')
opt = upper(opt);
if (opt == 'Y')
T= linspace(global_temp(2),global_temp(4),100);
else if(opt == 'N')
str = input('if manual overide, Enter The temperature range with a space','s');
T= linspace(str(1),str(2),100);
else
disp('Enter the correct option')
end
end
% Calculation of Coefficients.
for i =1:length(Element)
for j=1:length(T)
if (T(j)<1000)
Cp(i,j) = R*(Data2(i,1)+(Data2(i,2)*T(j))+(Data2(i,3)*(T(j)^2)) + (Data2(i,4)*(T(j)^3))+(Data2(i,5)*(T(j)^4)));
H(i,j) = R*((Data2(i,1)*T(j))+(Data2(i,2)/2)+(Data2(i,3)*T(j)/3) + (Data2(i,4)*(T(j)^2)/4)+(Data2(i,5)*(T(j)^3)/5)+Data2(i,5));
S(i,j) = Data2(i,1)*log(T(j))+(Data2(i,2)*T(j))+(Data2(i,3)*(T(j)^2)/2) + (Data2(i,4)*(T(j)^3)/3)+(Data2(i,5)*(T(j)^4)/4) + Data2(i,7);
else
Cp(i,j) = R*(Data2(i,8)+(Data2(i,9)*T(j))+(Data2(i,10)*(T(j)^2)) + (Data2(i,11)*(T(j)^3))+(Data2(i,12)*(T(j)^4)));
H(i,j) = R*((Data2(i,8)*T(j))+(Data2(i,9)/2)+(Data2(i,10)*T(j)/3) + (Data2(i,11)*(T(j)^2)/4)+(Data2(i,12)*(T(j)^3)/5)+Data2(i,13));
S(i,j) = Data2(i,8)*log(T(j))+(Data2(i,9)*T(j))+(Data2(i,10)*(T(j)^2)/2) + (Data2(i,11)*(T(j)^3)/3)+(Data2(i,12)*(T(j)^4)/4) + Data2(i,14);
end
end
end
%Calculate Molecular Weight%
disp('enter element such that CH3OH as CHHHOH')
substance = input('Enter the element as shown in example','s')
substance = upper(substance)
[count] = zeros(1,6)
for i = 1:length(substance)
if substance(i) == 'C'
count(1) = count(1)+1
else if substance(i) == 'H';
count(2) = count(2)+1;
else if substance(i) == 'O';
count(3) = count(3)+1 ;
else if substance(i) == 'N';
count(4) = count(4)+1;
else if substance(i) == 'S';
count(5) = count(5)+1;
else if substance(i) == 'AR';
count(6) = count(6)+1;
end
end
end
end
end
end
end
Mol_wt = (count(1)*12)+(count(2)*1)+(count(3)*16)+(count(4)*14)+(count(5)*32)+(count(6)*40)
fprintf('The Molecular weight of %s is %f',substance,Mol_wt)
% Printing of Plots %
for i=1:length(Element)
figure(i)
subplot(3,1,1)
plot (Cp(i,:),T,'color','b')
title('Plot of specific heat versus Temperature')
xlabel('specific heat'); ylabel('T')
subplot(3,1,2)
plot (H(i,:),T,'color','b')
title('Plot of enthalpy versus Temperature')
xlabel('enthalpy'); ylabel('T')
subplot(3,1,3)
plot (S(i,:),T,'color','b')
title('Plot of Entropy versus Temperature')
xlabel('Entropy'); ylabel('T')
%Printing of results into Folders%
condir = char(Element(i))
% Files will be stored in this location
filename1 = fullfile('E:\','Matlab_Project',condir)
mkdir (filename1)
filename2 = fullfile(filename1,condir)
saveas(figure(i),filename2,'jpg')
end