Signals Question difference equation: Write a function y=diffeqn(a,x,yn1) which computes the output y[n] determined by the first-order system y[n]=ay[n-1]+x[n]
이전 댓글 표시
I need to Write a function y=diffeqn(a,x,yn1) which computes the output y[n] of the causal system determined by the first-order autoregression system y[n]=ay[n-1]+x[n] The input vector x, contains x[n] for 0 ≤ n ≤ N − 1 and yn1 supplies the value of y[-1]. The output vector y contains y[n] for 0 ≤ n ≤ N − 1.
Note that y[−1] is necessary for computing y[0], which is the first step of autoregression. Use a for loop in your M-file to compute
댓글 수: 5
Rick Rosson
2014년 9월 10일
What have you tried so far?
Star Strider
2014년 9월 10일
Note that MATLAB uses parentheses, not square brackets, to denote subscripts.
Tucker Russ
2014년 9월 10일
Rick Rosson
2014년 9월 11일
I don't think you need a function within a function. Instead, you need a function that computes y as required and then a script that calls your function once or perhaps several times to test out your function.
채택된 답변
추가 답변 (1개)
Rick Rosson
2014년 9월 11일
편집: Rick Rosson
2014년 9월 11일
Here's a start. Create a file called diffeqn.m and insert the following code:
function y = diffeqn(a,x,yn1)
% Number of rows:
N = size(x,1);
% Pre-allocate:
y = zeros(N,1);
y(1) = ...
for k = 2:N
...
...
...
end
end
카테고리
도움말 센터 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!