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.

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by