How to Code This Using filter?

I don't know how to use filter and unfortunately the Help Documentation of filter is not useful enough for me. I'd like to use filter to code the following recursive formula
x(i+1) = a(i)*x(i), i = 1, 2 , ..., n,
where a(i) is some function of i. Assume x(1) = 2. I don't want to use a for loop for possibly faster implementations.

 Accepted Answer

Assuming that 'a' is input data and 'x' is the output data, you can use the filter function as shown below
a = 1:5;
num = 1;
den = [1 -1];
x = filter(num,den,a)
for the linear filter equation x(i) - x(i-1) = a(i). However, in your case, it appears like the filter equation is a nonlinear equation. i.e. x(i+1)/x(i) = a(i). So, make sure if your filter equation is correct.

More Answers (0)

Categories

Products

Tags

Community Treasure Hunt

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

Start Hunting!