reading data in loop

11 views (last 30 days)
Mingde
Mingde on 20 Jul 2022
Edited: dpb on 20 Jul 2022
I have some problem with reading data in loop
cx_sum(Q) and cy_sum(Q) are not working in loop.
cx_sum and cy_sum have value 1x1622.
for Q = 1:1621
CY_sum99 = mean(cy_sum(Q),'omitnan')
CX_sum99 = mean(cx_sum(Q),'omitnan')
end
So can you solve this problem? Thank you

Accepted Answer

dpb
dpb on 20 Jul 2022
But they are .. just that cy_sum(Q) is the single element of the array on each pass and the mean of a single number is the number and so the last computed value at the end of the loop is the last element of each array (if not NaN) .
You're looking for simply writing
CY_mn=mean(cy_sum,'omitnan');
CX_mn=mean(cx_sum,'omitnan');
probably...but that's guessing.
  3 Comments
dpb
dpb on 20 Jul 2022
Edited: dpb on 20 Jul 2022
No, you don't want the loop still -- you want to sub-reference the portion of the array desired.
That would be
Nlower=1; % programming practice -- don't bury "magic" numbers in code;
Nupper=270; % use variables that can change
CX_mn_UL=mean(cx_sum(Nlower:Nupper),'omintnan');
It doesn't matter over what elements you loop, the above computes the same result as the mean 270 times since you reference the full variable inside the loop.
I strongly recommend spending time reading the "Getting Started" tutorial section in the local documentation on MATLAB syntax and referencing arrays, etc., ...
Mingde
Mingde on 20 Jul 2022
Thank you so much. I appreciate it your answer.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!