Save values in a for loop

Hi all,
I trying to create a script that is able to save the values from each run in a 'for loop' for an EEG study. It works very well without the loop (stores values correct in 'powervalue'). The problem is that it's only saving the last value in the 'allpowervalues':
powervalue = zeros(length(freq),1);
allpowervalues = zeros(length(freq),12);
for ii=1:length(freq)
% Script calculating power values for EEG
end
allpowervalues(:,ii)= powervalue;
I hope someone can help.
Christian

Answers (2)

Don't you want the line
allpowervalues(:,ii)= powervalue;
inside the for loop?
Eric
Eric on 19 Sep 2014
Thank you for the response. I already did that but it still doesn't work.

4 Comments

I guess you meant to write a comment to the cyclist's answer, rather than your own answer...
In any case, did you actually try what the cyclist suggests?
Eric
Eric on 19 Sep 2014
Edited: Eric on 19 Sep 2014
That's correct. :) I tried the following:
powervalue = zeros(length(freq),1);
allpowervalues = zeros(length(freq),12);
for ii=1:length(freq)
% Script calculating power values for EEG
allpowervalues(:,ii)= powervalue;
end
This code fills in the entire array for me:
freq = rand(4,1);
powervalue = zeros(length(freq),1);
allpowervalues = zeros(length(freq),12);
for ii=1:12
powervalue = rand(4,1);
allpowervalues(:,ii)= powervalue;
end
I did change your for loop to go from 1:12 instead of 1:length(freq). Maybe that was part of the problem?
Thank you very much for your answer. I finally works.

Sign in to comment.

Categories

Asked:

on 19 Sep 2014

Commented:

on 22 Sep 2014

Community Treasure Hunt

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

Start Hunting!