MATLAB: Do i get “Index exceeds the number of array elements (2)”. and how can i fix it? Please

error

clc;
clear;
y(1)=0;
close all;
y(2)=1;
k=3:50
y(k)=2 -0.4 +1.2*y(k-1) -0.72*y(k-2);
stem(k,y,'linewidth',2);
grid;
xlabel('K');
k=0.49;
ylabel('y(k)');

Best Answer

You should first initialize the variable y. I also changed the definition order of the elements of y. I didn't understand why you assigned the value of 0.49 to k at the end of the code?!
clc;
clear;
close all;
k=3:50
y = zeros(numel(k)); % initialize variable y with the same length as k
y(1)=0; % assign values after initialization

y(2)=1; % assign values after initialization
y(k)=2 -0.4 +1.2*y(k-1) -0.72*y(k-2);
stem(k,y,'linewidth',2);
grid;
xlabel('K');
% k=0.49;
ylabel('y(k)');