Fast function application

Hi,
Let a be n-dimensional vector, B n-by-n dimensional matrix, f(a, b) - binary function that operates on two vectors, and returns scalar as a result. Is there fast way (no-loops) to implement application of this function to vector a and every column of matrix B? More precisely forall_j r(j) = f(a, B(:, j))?

1 comentario

Mateusz
Mateusz el 29 de Sept. de 2011
I think I cannot repmat vector 'a' since f has to work explicitly on vectors.

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Sept. de 2011

2 votos

These days, "no loops" is not necessary any faster.
You can use
arrayfun(@(K) f(a,B(:,K)), 1:size(B,2))
but that will probably not be any faster than a loop.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 29 de Sept. de 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by