bsxfun

Aplica uma função binária expandindo dimensões singleton.

Categoria: Language Fundamentals > Operators and Elementary Operations

Sintaxe

C = bsxfun(fun, A, B)

Aplica fun a A e B depois de esticar as dimensões de tamanho 1 para casá-las.

Descrição

Antes do R2016b não era possível combinar uma linha e uma coluna com +, então bsxfun fazia a expansão. Hoje os operadores aritméticos expandem implicitamente e bsxfun(@plus, A, B) equivale a A + B.

Continua útil para funções sem forma de operador, como @max, @min, @atan2 ou @hypot, e em código que precisa rodar em versões antigas.

Argumentos de entrada

fun
Handle de função de uma função binária elemento a elemento, como @plus, @minus, @times, @max ou @(a,b) a.^b.
A, B
Arrays cujos tamanhos são iguais ou 1 em cada dimensão.

Argumentos de saída

C
Resultado da função, com o tamanho expandido.

Exemplo

bsxfun(@plus, [1; 2], [10 20])
bsxfun(@max, [1 5], [3; 4])
Saída
ans = 2×2

    11    21
    12    22
ans = 2×2

     3     5
     4     5

Veja também

arrayfun repmat + max