Be the first to rate this file! 14 Downloads (last 30 days) File Size: 11.8 KB File ID: #23146

matrixfunction

by

 

28 Feb 2009 (Updated )

summary

| Watch this File

File Information
Description

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]
%

MATLAB release MATLAB 7.5 (R2007b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
03 Mar 2009 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
03 Mar 2009

 added 3 functions to handle single matrices

Contact us