how to average multiple function runs together

5 views (last 30 days)
Hi,
I have a function [runx] with an output that is a 11x256 matrix.
I would like to run this function 500 times. And generate a matrix with all the elements' averages. Sum(x) adds the elements in the same matrix together. It's not what I want.
For example:
run #1: [1 3 5; 4 6 7], run #2: [0 0 0; 1 1 1], run #3: [3 4 6; 0 1 2]
The operation that I would like to do is:
first row is [ (1+0+3)/3 (3+0+4)/3 (5+0 +6)/3] second row is [ (4+1+0)/3 (6+1+1)/2 (7+1+2)/3]
Final result: [4/3 7/3 11/3; 5/3 8/3 10/3]
Please help. Thank you.

Accepted Answer

Pamela Stein
Pamela Stein on 17 Mar 2014
A long way about doing it, but I got it to work.
jj = 500; [wxgen]=runx;
m = wxgen;
for i=1:jj-1 [wxgen]=runx; m = m+wxgen; end
meantwxgen = l./jj

More Answers (1)

Walter Roberson
Walter Roberson on 17 Mar 2014
mean( cat(3, run1, run2, run3), 3)
  1 Comment
Pamela Stein
Pamela Stein on 17 Mar 2014
Since I want to generate my function 500 times, there will be five-hundred 11x256 matrices. Am I typing run1, run2,... run500? My run code so far is (wxgen is a 11x256 matrix output of my function runx).
for i = 1:500; [wxgen] = runx
???? end

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices 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!