Solving LTID system recursively
Ältere Kommentare anzeigen
I want to solve this system recursively
y[n]−0.7y[n−1]+0.12y[n−2]=2x[n]−x[n−1]
with
x[n]=(2)−nu[n]; y[−1]=3 and y[−2]=2
what i have tried is this but i keep getting Array indices must be positive integers or logical values.
any suuggestions?
n=-2:15;
% y=[2;3;zeros(length(n)-2,1)]; %I.C
y(-2)=2;
y(-1)=3;
x=inline('2.^(-n).*(n>=0)'); % input system
for k = 1: length(n)-2
y(k) = 0.7*y(k-1)-0.12*y(k-2)+2*x(k)-x(k-1);
end
clf;
stem(n,y);
disp('n y'); disp([num2str([n,y])]);
Antworten (1)
Alan Stevens
am 5 Sep. 2020
Matlab indexing begins at 1, so you can't have y(-2), y(-1), y(0) etc. Shift your indexing.
y(1) = 2;
y(2) = 3;
for k = 3: length(n)
y(k) = ...etc
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!