How to write a Script using a function that accepts individual inputs?

Hi, Im new to matlab programming. I have a function that requires 1 input argument to display a plot. I have collected data from 5 subjects, and each time I need to input the subject's name individually to the function in order to plot a graph for that subject.
for example:
*function analysedata
subjectname 'x';*
% x = subject name
I would like to write a script with a forloop that can accept all 5 subject names, which will eliminate the need to input each name separately. Any help would be appreciated.
Thank you.

 Accepted Answer

John - so rather than passing in a single name, pass in a cell array of names. Your function signature would then become
function analysedata(subjectNames)
You could then iterate over this array as
for k=1:length(subjectNames)
subjectName = subjectNames{k};
% etc.
end

3 Comments

Hi Geoff, Thanks a lot for the reply. Quick question. Does that mean I put the for loop in the same function file? Or a separate script? Sorry I'm really new to this.
So for instance can I write,
subjectNames = [A B C D E];
function analysedata(subjectNames)
for k=1:length(subjectNames)
subjectName = subjectNames{k};
% etc.
end
Would that be correct? And what should I write in the % ect?
Thanks
subjectNames = {'A' 'B' 'C' 'D' 'E'};
your looping looks fine.
What you would put in your % etc section would be the code to analyze a given subject.
Thanks a lot for all the replies. It worked!!

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!