# Help regarding For loop

1 view (last 30 days)
Md. Tanjin Amin on 8 Jul 2017
Commented: Walter Roberson on 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)

Jan on 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
Walter Roberson on 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

Walter Roberson on 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
Md. Tanjin Amin on 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?