Replacing a nested for-loop

Hey everyone!
I am doing pairwise comparisons of strings in a cell array using a function that I wrote. Right now I have it in a nested for-loop that looks like this
D = {'string1','string2','stringn'}
for k = 1:numel(D)
for j = k:numel(D)
M(k,j) = myfunction(D{k},D{j});
end
end
This runs fairly slow. My question is there a faster way to do these pairwise comparisons using something like arrayfun?

3 个评论

You can not just say replace a double for loop. Give more details about your problem
Sorry about that I edited my question. It is more specific now.
what is myfunction?

请先登录,再进行评论。

 采纳的回答

Walter Roberson
Walter Roberson 2013-9-7

0 个投票

No. arrayfun() uses a for loop internally, so it is no faster.
You should consider vectorizing "myfunction".

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by