フィルターのクリア

Vector Generation Through Loop

1 回表示 (過去 30 日間)
Saleh Msaddi
Saleh Msaddi 2020 年 3 月 14 日
コメント済み: Saleh Msaddi 2020 年 3 月 16 日
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!

採用された回答

Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 14 日
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 件のコメント
Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 16 日
You can generate ones(N,1) and have N to be large.. It is equivalent to step function
Saleh Msaddi
Saleh Msaddi 2020 年 3 月 16 日
alright then!
thank you :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCorrelation and Convolution についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by