n=2:nt;
sum1(n)=f(t(n),alpha)+(var).*bj(n).*u(1);
k=1:n-1;var_bj=(bj(k+1)-bj(k)).*(var);
for n=2:nt
sum2=0;
for k=1:n-1
sum2=sum2+var_bj.*u(n-k);
end
sumout2(n)=sum2;
u(n)=(sum1(n)-sumout2(n))/(var-beta);
end

1 commentaire

Tell us more about the variables you have, for example, what are their sizes? What is your code trying to do?

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 14 Mar 2017
For a vectorization, move the index vector from the for loop into the command. For the innermost loop:
sum2 = 0;
for k = 1:n-1
sum2 = sum2 + var_bj .* u(n-k);
end
becomes (I guess that var_bj is a scalar):
sum2 = sum(u(n - (1:n-1))) * var_bj;
This can be simplified:
sum2 = sum(u(1:n)) * var_bj;

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by