bsxfun
Evaluates the function func on the elements (element-wise operation) of the input matrices.
Syntax
R = bsxfun(func, input1, input2)
Inputs
- func
 - Function to be evaluated. The function must accept two scalar inputs.
 - input1
 - Matrix or scalar to be operated on.
 - input2
 - Matrix or scalar to be operated on.
 
Outputs
- R
 - Resulting output.
 
Examples
function z = my_fun(a,b)
  z = 2*max(a,b)+b;
end
R = bsxfun(@my_fun, 2, [2 3 4;5 6 7])
R = [Matrix] 2 x 3
 6   9  12
15  18  21function z = my_fun(a,b)
  z = 2*max(a,b)+b;
end
R = bsxfun(@my_fun, [1 2 3;10 11 12], [2 3 4;5 6 7])
R = [Matrix] 2 x 3
 6   9  12
25  28  31function z = my_fun(a,b)
  z = 2*max(a,b)+b;
end
a = [1 2 3;4 5 6];
a(:,:,2) = ones(2, 3);
b = [2 3 4;5 6 7];
R = bsxfun(@my_fun, a, b)
R = [Matrix] 2 x 3
 6   9  12
25  28  31Comments
If both input1 and input2 are matrices then their dimensions must be the same.