Calling sequential variable names in a for loop?

9 次查看(过去 30 天)
I have a set of variable names numbered sequentially. For example one set is
AllChDeltaPreStim1,2,3,4,5 (so there are 5 different variables with the prefix followed by n=1-5). I want to do a hilbert transform on all of them but I'm sure I don't have to write it out 5 times, right? I know how to write a for loop for each column/row in a variable but not this. I am definitely a beginner programmer so please help and forgive if stupid question! Thanks! Kim

采纳的回答

Image Analyst
Image Analyst 2013-12-14
Yes you do need to call the code separately. However you could make it easier and make the code into a function so that you just need to call the function 5 times and all the heavy lifting is done in that function rather than in your main program.
results1 = YourHilbertFunction(AllChDeltaPreStim1);
results2 = YourHilbertFunction(AllChDeltaPreStim2);
results3 = YourHilbertFunction(AllChDeltaPreStim3);
results4 = YourHilbertFunction(AllChDeltaPreStim4);
results5 = YourHilbertFunction(AllChDeltaPreStim5);
It's not really many more lines, if any, than a for loop. If you don't want to do that, you can make AllChDeltaPreStim and arry.

更多回答(1 个)

Kevin Stanley-Adams
Kevin Stanley-Adams 2013-12-14
编辑:Kevin Stanley-Adams 2013-12-14
Your best option is probably to store the contents of AllChDeltaPreStimX in an array rather than seperate variables. Then you can access the data in each iteration by using something like:
for i=0:5
%code
AllChDeltaPreStim(i)
%code
end
If your separate variables are matrices, I'd create a structure array and store them in that. I'm no Matlab expert though, so this might not be the optimum solution.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by