| bsxfun {pracma} | R Documentation |
Apply a binary function elementwise.
bsxfun(func, x, y) arrayfun(func, ...)
func |
function with two or more input parameters. |
x, y |
two vectors, matrices, or arrays of the same size. |
... |
list of arrays of the same size. |
bsxfun applies element-by-element a binary function to two vectors
or matrices of the same size.
arrayfun applies func to each element of the arrays and
returns an array of the same size.
The result will be a vector or matrix of the same size as x, y.
The underlying function mapply can be applied in a more general
setting with many function parameters:
mapply(f, x, y, z, ...)
but the array structure will not be preserved in this case.
X <- matrix(rep(1:10, each = 10), 10, 10)
Y <- t(X)
bsxfun("*", X, Y) # multiplication table
f <- function(x, y) x[1] * y[1] # function not vectorized
A <- matrix(c(2, 3, 5, 7), 2, 2)
B <- matrix(c(11, 13, 17, 19), 2, 2)
arrayfun(f, A, B)