搞定
clc
filename='c:\Documents and Settings\User Name\My Documents\Spectral File.SPA
';
fid=fopen(filename,'r');
% Find the points number
fseek(fid,hex2dec('234'),'bof');
Number_of_DataPoints=fread(fid,1,'int32');
%Find the maximum and minimum of Wavenumber (cm-1) range
fseek(fid,576,'bof');
Maximum_Wavenumber=fread(fid,1,'single');
Minimum_Wavenumber=fread(fid,1,'single');
Interval=(Maximum_Wavenumber-Minimum_Wavenumber)/(Number_of_DataPoints-1);
Wavenumber=linspace(Minimum_Wavenumber,Maximum_Wavenumber,Number_of_DataPoin
ts).';
Wavenumber=flipud(Wavenumber);
%Find the Y-Axis data type: %Transmittance or Absorbance
fseek(fid,hex2dec('360'),'bof'); Y_Label=char(fread(fid,14,'uchar')');
% How to define the offset for spectral data still remains unresolved.
fseek(fid,hex2dec('41c'),'bof');
spectrum=fread(fid,Number_of_DataPoints,'single');%'double'); % float64, %re
al*8
figure(1),plot(Wavenumber,spectrum,'r'); set(gcf,'color','w');
set(gca,'xdir','rev','xcolor','b','ycolor','b','xlim',[round(Minimum_Wavenum
ber),round(Maximum_Wavenumber)]);
xlabel('Wavenumber /cm^{-1}'); ylabel(Y_Label);
【 在 RainbowLyre (白い夢さえ、真紅に染める) 的大作中提到: 】
: MATLAB威武
--
FROM 118.133.79.*