- I have a class A with property b.
- I make an n-by-m array with objects of class A
- I would like to, for instance, find the mean of all the rows.
The below code shows implementation of class A
classdef A < handle properties b = rand endend
The below script shows how I would ideally like the operation of finding the mean to look like
a(2,5) = Amean(a.b, 1);
This does not work however, and the only way I have found to make this work so far is shown below:
a(2,5) = Amean = [a(1,:).b] + [a(2,:).b] / 2;
This does not look pretty and of course, if one want's to generalize to the n-by-m case, you need a loop to make this work.
Is there a way to achieve this without using a loop, and instead do something like the first example?
Best Answer
If each A.b contains one value, you could use arrayfun to generate a matrix and then do the operation. It's not elegant, but at least it provides a standardized way to do some operations.