Filter löschen
Filter löschen

Help regarding For loop

1 Ansicht (letzte 30 Tage)
Md. Tanjin Amin
Md. Tanjin Amin am 8 Jul. 2017
Kommentiert: Walter Roberson am 10 Jul. 2017
hi,
i want to write the following equation in a for loop to store values for 1000 rows..Can anyone help please?
z(k)=lamda*x(k)+(1-lamda)*z(k-1)

Akzeptierte Antwort

Jan
Jan am 8 Jul. 2017
z = zeros(1000, 22);
x = rand(1000, 22);
lamda = rand();
for k = 2 : 1000
z(k, :) = lamda * x(k, :) + (1-lamda) * z(k-1, :);
end
  4 Kommentare
Md. Tanjin Amin
Md. Tanjin Amin am 10 Jul. 2017
Hi, I am sorry. You are right the expected values were wrong. I have attached the corrected expected values. This is right this time. Can you give some time and help please?
Walter Roberson
Walter Roberson am 10 Jul. 2017
Your first two lines of X from X.mat are the same. That cannot be explained with any lamda other than 0 .
Your other lines of expected output cannot be explained with lamda = 0.03 : they all require lamda = 1.0003
Even then your expected outputs are frequently wrong in the 4th digit.
See attached, which is configured for 1.0003

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 8 Jul. 2017
z(1) = rand();
x = randn(1,1000);
lamda = rand();
for k = 2 : 1000
z(k)=lamda*x(k)+(1-lamda)*z(k-1);
end
  1 Kommentar
Md. Tanjin Amin
Md. Tanjin Amin am 8 Jul. 2017
Hi, Thank you. Atually, I should have been more specific. X is 1000*22 matrix and initial value of Z is zero (a 1*22 zero matrix)..Can you help please?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB 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