How can I load multiple samples in a for loop

2 views (last 30 days)
I am trying to write a program that runs multiple samples but I can not figure out how to load a different sample for each iteration of the for loop.
For example:
sample1='/home/examplefilename.DTA';
sample2='/home/examplefilename2.DTA';
sample3='/home/examplefilename3.DTA';
q = inputdlg('How many samples were loaded?');
nsamples = str2double(q);
for h=1:nsamples;
[xd,yd,Pars]=eprload(sample(h));
xIndex = find(yd==max(yd(xd>=2600 & xd<=2850)), 1, 'first');
B = xd(xIndex);
v=Pars.MWFQ;
disp(sample(h))
end
This gives me the error message 'Undefined function or variable 'sample'.

Accepted Answer

Joseph Cheng
Joseph Cheng on 24 Jun 2015
Edited: Joseph Cheng on 24 Jun 2015
that is because sample is undefined but sample1 sample2 and sample3 is what you defined. how you're calling out that last line you should build sample{} as a cell array
sample{1}='/home/examplefilename.DTA';
sample{2}='/home/examplefilename2.DTA';
sample{3}='/home/examplefilename3.DTA';
q = inputdlg('How many samples were loaded?');
nsamples = str2double(q);
for h=1:nsamples;
%redacted
disp(sample(h))
end
  1 Comment
Joseph Cheng
Joseph Cheng on 24 Jun 2015
and since we do this you don't need the inputdlg and you can get the size/length/numel of sample to calculate nsamples.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!