Project

FILE PARSING USING MATLAB

FILE PARSING:

MATLAB PROGRAM:

clear all
close all
clc



%getting the data file
f1=fopen(\'THERMO.dat\',\'r\')
fgetl(f1)
%reading the header information
A=fgetl(f1)
A=strsplit(A,\' \')
global_low_temp=str2num(A{2})
global_mid_temp=str2num(A{3})
global_high_temp=str2num(A{4})


%skipping next three lines
for i=1:3
    fgetl(f1)
end






%reading the species
for i=1:53
    
    header=fgetl(f1)
    speciesheader=strsplit(header,\' \')
    species_name = speciesheader{1}
   
  
        t1 =str2double(speciesheader{6});
        t2 =str2double(speciesheader{7});
          t3  =str2double(speciesheader{8});
            
        
            
            %getting first line coeffecients (a1-a5)
            line_1=fgetl(f1)
            
            a=strfind(line_1,\'E\')
            a1=str2double(line_1(1:a(1)+3))
            a2=str2double(line_1(a(1)+4:a(2)+3))
            a3=str2double(line_1(a(2)+4:a(3)+3))
            a4=str2double(line_1(a(3)+4:a(4)+3))
            a5=str2double(line_1(a(4)+4:a(5)+3))
            
            %getting second line coeffeceints (a6-a10)
             line_2=fgetl(f1)
            
            a_1=strfind(line_2,\'E\')
            a6=str2double(line_2(1:a_1(1)+3))
            a7=str2double(line_2(a_1(1)+4:a_1(2)+3))
            a8=str2double(line_2(a_1(2)+4:a_1(3)+3))
            a9=str2double(line_2(a_1(3)+4:a_1(4)+3))
            a10=str2double(line_2(a_1(4)+4:a_1(5)+3))
            
            %getting third line coeffeceints (a10-a14)
             line_3=fgetl(f1)
            
            a_2=strfind(line_3,\'E\')
            a11=str2double(line_3(1:a_2(1)+3))
            a12=str2double(line_3(a_2(1)+4:a_1(2)+3))
            a13=str2double(line_3(a_2(2)+4:a_1(3)+3))
            a14=str2double(line_3(a_2(3)+4:a_1(4)+3))
            
            
            %creating folder
            mkdir([\'C:\\Users\\Student\\Desktop\\fileparsing\\images\\\',species_name]);
         
            T=linspace(t1,t3,1000);
            R=8.314;
            % to get array of specific heat, enthalpy and entropy 
            for k=1:length(T)
    % to compare the species  temperature to assign the coeffeceints
    %a1-a7 (high temperature coeffeceints), a8-a14(low temperature coeffecients)    
    if T(k)>t2
        
        %high temperature coeffeceints.
        
        cp=(a1+a2.*T+a3.*T.^2+a4.*T.^3+a5.*T.^4)*R;
        
        H=(a1+(a2.*T)/2+(a3.*T.^2)/3+(a4.*T.^3)/4+(a5.*T.^4)/5+(a6./T))*R.*T;
        
        S=a1.*log(T)+a2.*T+(a3.*T.^2)/2+(a4.*T.^3)/3+(a5.*T.^4)/4+a7;
        
    else
        %low temperature coeffecients
        
        cp=(a8+a9.*T+a10.*T.^2+a11.*T.^3+a12.*T.^4)*R;
        
        H=(a8+(a9.*T)/2+(a10.*T.^2)/3+(a11.*T.^3)/4+(a12.*T.^4)/5+(a13./T))*R.*T;
        
        S=a8.*log(T)+a9.*T+(a10.*T.^2)/2+(a11.*T.^3)/3+(a12.*T.^4)/4+a14;
    end
    end

            
            %plotting the graphs
            
            figure(1)
            plot(T,cp)
            grid on 
            title(species_name)
            xlabel(\'Temperature\')
            ylabel(\'Specific Heat\')
            
            
            figure(2)
            plot(T,H)
            grid on 
            title(species_name)
            xlabel(\'Temperature\')
            ylabel(\'Enthalpy\')
            
            
            figure(3)
            plot(T,S)
            grid on 
            title(species_name)
            xlabel(\'Temperature\')
            ylabel(\'Entropy\')
            
            
            
            %changing the directory and saving the file
            saving=([\'C:\\Users\\Student\\Desktop\\fileparsing\\images\\\',species_name])
             cd(saving)
            saveas(1,\'specific heat\',\'jpg\');
            saveas(2,\'enthalpy\',\'jpg\');
            saveas(3,\'entropy\',\'jpg\');
            %cd(\'C:\\Users\\Student\\Desktop\\fileparsing\\programs\')
            
             %molecular_masscalculation
             
             
species=species_name;
elements=[\'H\',\'C\',\'O\',\'N\',\'A\'];
atomic_weight=[1.0079 12.0107 15.0999 14.0067 39.948];
mol_mass=0;
for i=1:length(species)
    for m=1:length(elements)
        if strcmpi(species(i),elements(m))
            mol_mass=mol_mass+atomic_weight(m);
            position=m;
        end
    end
 end
n=str2double(species(i))
if n>1
    mol_mass = mol_mass + elements(position)*(n-1);
    
    
end
disp(sprintf(\'Molecular Weight of %s:%f u\',species,mol_mass))


            
    end
             fclose(f1)
            

            
            
            
            
            
            
            
         
            

OUTPUTS:

SCREENSHOT OF DIRECTORY:

PLOTS OF O2:

PLOTS OF N2:

PLOTS OF CO:

EXPLANATION OF CODE:

* First the file \"thermo.dat\" is opened

*And then it should be read properly

*The main aim of the coding is to obtain the 14 coefficients of the species and also to calculate the enthalpy,entropy and specific heat

* And to plot those values with respect to the temperature ranges(local)

*And the plots are to be saved in a seperate directory

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.