File Exchange

image thumbnail

matrixfunction

version 1.1 (10.3 KB) by

summary

0 Downloads

Updated

View License

functions that allow functions to operate on the rows and coloums of matrixs. similiar to arrayfun and bsxfun.
Saves time having to implement for loops or figuring out how to vectorise your code

% matrixfun
% Y = matrixfun(hFunction,A,B,Dim)
%
% Invokes hFunction on the columns of matrices A and B.
% hFunction is a function handle that accepts two vectors.
% hFunction is invoked aCols*bCols times.
% Y is a cell matrix of size([aCols bCols]).
% If Dim is 2, hFunction operates on the rows of matrices A and B.
%
% Example
% A = [1 1 1; 2 2 2; 3 3 3]
% Y = matrixfun(@(X,Y)sum(X-Y),A,A);
% Y = [0] [0] [0]
% [0] [0] [0]
% [0] [0] [0]
%
% Y = matrixfun(@(X,Y)sum(X-Y),A,A,2); % = matrixfun(@(X,Y)sum(X-Y),A.',A.')
% Y = [0] [-3] [-6]
% [3] [ 0] [-3]
% [6] [ 3] [ 0]
%

Comments and Ratings (1)

Stephen Lienhard

See also http://www.mathworks.com/matlabcentral/fileexchange/16467 which I am the author of. While it only operates on one matrix, it is generalized to operate over any dimension.

Updates

1.1

added 3 functions to handle single matrices

MATLAB Release
MATLAB 7.5 (R2007b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video