clear clc   filename1 = load('filename.mat');   for atom_index = 1:length(filename1) clearvars -except atom_index filename1 load(filename1{atom_index});   transitionRate = transitionRate*1e2; % fs^-1 -> 1e2 fs^-2 finalTime = 1e3; steplength = 1e-3; opts.MaxStep = steplength; time = (0:steplength:finalTime).';   tr1 = bsxfun(@plus,transitionRate(:,1:end-1),-transitionRate(:,end)); tr2 = transitionRate(:,end); hfunc = @(x,y)(tr1*y(1:end-1,:)+tr2);   corrs = cell(length(dipoleMoment),1); for kk = 1:length(dipoleMoment) corr_t0 = zeros(length(eigenEnergy),1); corr_t0(kk) = 1; corrs{kk} = ode45(hfunc,[0,finalTime],corr_t0,opts); end   %% corr_dipole = 0; for kk = 1:length(dipoleMoment) corr_rho = spline(corrs{kk}.x,corrs{kk}.y,time); corr_dipole = corr_dipole +dipoleMoment(kk)*sum(dipoleMoment.*corr_rho,1)*corrs{1}.y(kk,end); end corr_dipole = corr_dipole.';   %% freq = (0:1/time(end):1/steplength).'; freq = freq*1e13;   sp_0 = trapz(time,corr_dipole-corr_dipole(end)); sp = ifft(corr_dipole-corr_dipole(end)); sp_after = sp/real(sp(1))*sp_0;   %% coverage = 1e18; % m^-2 epsilon_0 = 8.854187817e-12; % C/V/m distance = 40e-6; % m sp_after = sp_after*1e-13*(3.33564e-30)^2; % Debye^2*fs > (C*m)^2*s sp_after = sp_after*3*pi*coverage/(4*pi*epsilon_0)^2/distance^4; % V^2*m^-2*s   freq_tm = [log10(freq(2)),log10(freq(end))]; freq_new = power(10,linspace(freq_tm(1),freq_tm(2),1e4)).'; sp = spline(freq,sp_after,freq_new); sp = [freq_new, sp]; save(['sp_',filename1{atom_index}],'sp');   time_new = linspace(time(1),time(end),1e4).'; corr = spline(time,corr_dipole,time_new); corr = [time_new, corr]; save(['corr_',filename1{atom_index}],'corr');   end clear