Effacer les filtres
Effacer les filtres

Is there any other more efficient way of writing this code?

2 vues (au cours des 30 derniers jours)
savvas
savvas le 18 Jan 2015
Modifié(e) : per isakson le 18 Jan 2015
for tt=1:100
for t = 1:1000;
y = a*y0+e+w-a*w0;
y0 = y; w0 = w;
end
B(:,tt) = y(:,1);
end
  1 commentaire
Roger Stafford
Roger Stafford le 18 Jan 2015
Modifié(e) : Roger Stafford le 18 Jan 2015
Savvas, I suspect you have left out some of the code for these for-loops. As it stands, the code makes no sense (or at least it is extremely inefficient.) After the first inner-loop iteration the values of w and w0 are equal and unchanging and any further computation of the step "w0 = w" is a total waste of time. Also you do not reset y and w for each outer-loop (tt) iteration, which has a very suspicious look. Please give us a realistic piece of code or else give a clear verbal description of your problem.
{Note: Unless the value of 'a' is extremely close to 1, your sequence of y values will converge to an essentially constant value or else to infinity long before you reach t = 1000.)

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements 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