Filter löschen
Filter löschen

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

2 Ansichten (letzte 30 Tage)
savvas
savvas am 18 Jan. 2015
Bearbeitet: per isakson am 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 Kommentar
Roger Stafford
Roger Stafford am 18 Jan. 2015
Bearbeitet: Roger Stafford am 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.)

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help 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