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,@maxou@(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