Vector Generation Through Loop
2 views (last 30 days)
Show older comments
Saleh Msaddi
on 14 Mar 2020
Commented: Saleh Msaddi
on 16 Mar 2020
Hello everyone.
So I'm a beginner and I am trying to generate a smooth signal w from an original signal r
a is a constant
w(k+j) = a*w(k+j-1)+(1-a)*r(k+j) for j = 1 , 2 , ... , N
How can implement this signal and store the value of every iteration to form a vector w
Thanks in advance!
0 Comments
Accepted Answer
Sriram Tadavarty
on 14 Mar 2020
Hi Saleh,
This can be done through for loop. The documentation link to for loop is https://www.mathworks.com/help/matlab/ref/for.html. Please go through this to have easy going.
The code for what is asked is: (There is no intimation of k in the condition)
% Consider a random signal of length N
N = 100;
r = rand(N,1);
% Smoothing factor a
a = 10;
% Write the loop
tmp = 0;
w = zeros(N,1);
for j = 1:N
w(j) = a*tmp+ (1-a)*r(j);
tmp = w(j);
end
% The output is provided in w
w
Hope this helps.
Regards,
Sriram
3 Comments
Sriram Tadavarty
on 16 Mar 2020
You can generate ones(N,1) and have N to be large.. It is equivalent to step function
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!