MATLAB: How to run the same script but for different datafiles consecutively

dataMATLAB

So I have the following script:
clc;
clear;
LM = xlsread('LagrangeMultiplier.xlsx','LM');
CM = xlsread('LagrangeMultiplier.xlsx','CM');
DT = xlsread('LagrangeMultiplier.xlsx','DT');
for i = 1:size(LM,2)
JPD(i,:) = exp(-1-sum(LM(:,i)))*mvncdf(DT, Inf*ones(size(DT,1),1),0,CM);
end
Basically I have datafiles named:
LagrangeMultiplier1.xlsx
LagrangeMultiplier2.xlsx
LagrangeMultiplier3.xlsx
and so on until LagrangeMultiplier100.xlsx
Currently I'm running this script manually for each file, ie, I have LagrangeMultiplier1.xlsx as the name in the script, then I copy the values from the JPD workspace into excel, then put LagrangeMultiplier2.xlsx as the datafile name and so on. How can I automate this so that MATLAB automatically runs the script for all 100 datafiles and stores all 100 arrays for JPD into the workspace?
Thanks

Best Answer

@ Azzi: It is indeed not recommended to create severable variables by the
eval([ 'JPD',num2str(ii),' = JPD;'])
command. I thought Simon wanted to do it anyway, so hence I delivered ;)
@ Simon: From your screenshot it looks like your data is one-dimensional. You can hence change the code as follows to obtain what you want:
nb_files = 100;
% preallocate space for JPD
LM = xlsread('LagrangeMultiplier1.xlsx','LM');
JPD = zeros(length(LM),nb_files);
% read in all the files and store them as columns in JPD variable
for kk=1:nb_files
file=sprintf('LagrangeMultiplier%d.xlsx',kk);
LM = xlsread(file,'LM');
CM = xlsread(file,'CM');
DT = xlsread(file,'DT');
for ii = 1:length(LM)
JPD(ii,kk) = exp(-1-sum(LM(:,ii)))*mvncdf(DT, Inf*ones(size(DT,1),1),0,CM);
end
end