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 Kommentar

Mateusz
Mateusz am 29 Sep. 2011
I think I cannot repmat vector 'a' since f has to work explicitly on vectors.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 29 Sep. 2011

2 Stimmen

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.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by