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에 대해 자세히 알아보기

질문:

2016년 6월 30일

댓글:

2016년 7월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by