Simple problem: Replacing a loop with a vector expression
2 次查看(过去 30 天)
显示 更早的评论
Hi all,
I'd like to run this by people here as I can't see where I'm going wrong, despite this seeming pretty simple.
I have the following loop:
for n=M+1:N
y(n)=a*x(n)+x(n-M)-a*y(n-M);
end
I wish to implement this as a vector expression. Here is what I have got:
y(M+1:N)=a*x(M+1:N)+x(1:N-M)-a*y(1:N-M);
I'd thought this was correct, but when I do simple (or complicated) examples, the values are only the same up to a certain point. I've noticed that they are correct up to the entry that is double of the value of M (so if M=8, the outputs produced by both examples are the same up until the 16th entry in the vector).
Can anyone have a look at this and correct me if I've made a mistake? As usual it may be something simple, but I'm not seeing it!
Craig
0 个评论
回答(1 个)
Jan
2012-2-12
1 个评论
Jan
2023-1-29
编辑:Jan
2023-1-29
Austin Chen wrote a flag at 28 Jan 2023 at 3:22: "terrible response"
@Austin: You find an exhaustive discussion and some example code in this link.
If you know a better answer, feel free to post it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!