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.

 Risposta accettata

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 Commenti

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!!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by