질문 : y[n] = 1.6y[n-1] - 0.64y[n-2] + 0.04x[n-2] // x[n]과 y[n]의 그림을 그려라
그래서 제가 코드를 짜보았는데
>x=data(:,2);
y(-1)=0.1; y(-2)=0.2;
x(-1)=0.3; x(-2)=0.4;
x(0)=0.5;
for n=3:2000;
y(n,1)=1.6*y(n-1)-0.64*y(n-2)+0.04*x(n-2);
end
subplot(2,1,1)
plot(x)
axis([0 2000 1.81 1.835]);
subplot(2,1,2)
plot(y)
axis([00 2000 1.81 1.835]);
======================================
(-1) 액세스를 시도했습니다. 인덱스는 양의 정수이거나 논리형이어야 합니다.
오류 발생: MIDTERM_5 (line 6)
y(-1)=0.1; y(-2)=0.2;
이렇게 뜹니다
y(-1)=0.1; y(-2)=0.2;
이렇게 뜹니다
여기서 20170321-1.txt는 텍스트 파일을 스샷으로 올려볼께요
=======================================
y(-1)=0.1; y(-2)=0.2;
x(-1)=0.3; x(-2)=0.4;
x(0)=0.5;
x(-1)=0.3; x(-2)=0.4;
x(0)=0.5;
이 값을 넣는 이유는
y[0] = 1.6y[-1] - 0.64y[-2] + 0.04x[-2]
y[1] = 1.6y[-0] - 0.64y[-1] + 0.04x[-1]
y[2] = 1.6y[1] - 0.64y[0] + 0.04x[0]
y[3] = 1.6y[2] - 0.64y[1] + 0.04x[1]
매트랩을 돌리면 y=3 부터 실행되니 y[0] ~ y[2] 값의 y[-1], y[-2], x[-1], x[-2], x[0] 초기값을 넣기 위함으로 생각해요
그런데 그 초기값을 넣으면
(-1) 액세스를 시도했습니다. 인덱스는 양의 정수이거나 논리형이어야 합니다.
오류 발생: MIDTERM_5 (line 6)
y(-1)=0.1; y(-2)=0.2;
y(-1)=0.1; y(-2)=0.2;
이렇게 나오는데 어떻게 해야 할까요
y(-1)=0.1; y(-2)=0.2;x(-1)=0.3; x(-2)=0.4; x(0)=0.5; 이 부분을 y(2)=0.1; y(1)=0.2; x(2)=0.3; x(1)=0.4; x(3)=0.5; 이렇게 고쳤는데 돌리니깐 또 안되요
y(-1)=0.1; y(-2)=0.2; x(-1)=0.3; x(-2)=0.4; x(0)=0.5;이건 초기조건인가요?
네
아 맞다 아까 전글의 질문은 y(-1)=0.1; y(-2)=0.2;x(-1)=0.3; x(-2)=0.4; x(0)=0.5; 이 부분을 y(2)=0.1; y(1)=0.2; x(2)=0.3; x(1)=0.4; x(3)=0.5; 이렇게 고쳤으니 y(n,1)=1.6*y(n-1)-0.64*y(n-2)+0.04*x(n-2); 이걸 어찌 바꿔야하나 이 질문이였어요
그래서 바꿧는데.. 댓글 좀 봐줘봐요ㅋㅋ
n의 범위는 정해져있나요?
n은 1~2000