Optimization! Divide a vector by each element of another vector!

1 vue (au cours des 30 derniers jours)
M G
M G le 28 Nov 2013
Commenté : M G le 1 Déc 2013
Dear all,
I would like to optimize my code which looks like this:
for n = 1:N
prt1(n,:) = exp(exp1/n^2);
end
exp1 is a vector of (1,2e4) and N = 2e4.
As you see the loop above works fine but the problem is heavy computation which takes extremely long time. Is there any way that I can vectorize n? By that I need to divide each element of exp1 by the 1st element of n and then 2nd, 3rd, ... nth element of n.
Any hint is appreciated :)
All the best
PS: Any good source in general for the MATLAB optimization??

Réponse acceptée

Walter Roberson
Walter Roberson le 29 Nov 2013
prt1 = bsxfun(@rdivide, exp1, (1:N).');

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Optimization Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by