Multidimensional for loop to store values/frame

1 view (last 30 days)
Uma Dixit
Uma Dixit on 12 Feb 2020
Answered: KSSV on 12 Feb 2020
Hello all,
I have a multidimensional array of 300x430x180. I need to efficiently calculate and store:
  • An average value per frame
  • The st.dev
  • The median per frame
  • The range per frame (the difference between the lowest/highest value in each frame)
Essentially my ideal output is a structure that contains
  • AvgValues (1x180)
  • St.dev (1x180)
  • Median (1x180)
  • Range(1x180)
I wanted to implement this into a for loop so it can run and store these values as it goes through the 180 frames. I am definitely overthinking this and need someone to point me in the correct direction.

Answers (1)

KSSV
KSSV on 12 Feb 2020
You can reshape the matrix into 2D and use the respective functions.
A = rand(2,2,5) ;
A = reshape(A,[],5) ;
Avg = mean(A) ;

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!