bsxfun {pracma}R Documentation

Elementwise Function Application (Matlab Style)

Description

Apply a binary function elementwise.

Usage

  bsxfun(func, x, y)

  arrayfun(func, ...)

Arguments

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.

Details

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.

Value

The result will be a vector or matrix of the same size as x, y.

Note

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.

See Also

Vectorize

Examples

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)

[Package pracma version 2.0.4 Index]