MATLAB의 diff() 함수
이 튜토리얼에서는 Matlab의 diff()
함수를 사용하여 차이점과 근사 도함수를 찾는 방법에 대해 설명합니다.
MATLAB의 diff()
함수를 사용하여 차이 및 근사 도함수 찾기
diff()
함수는 Matlab에서 차이점과 근사 도함수를 찾는 데 사용됩니다. 구문: diff(x)
는 벡터 또는 행렬의 인접 요소 간의 차이를 찾는 데 사용됩니다. 입력이 벡터인 경우 차이는 입력 벡터의 인접한 값 간의 차이가 됩니다. 출력 벡터의 크기는 입력 벡터의 크기보다 하나 작습니다. 예를 들어 벡터 값 간의 차이를 찾아보겠습니다. 아래 코드를 참조하십시오.
clc
x = [1 3 6 9];
y = diff(x)
출력:
y =
2 3 3
출력에서 입력 벡터 1과 3의 처음 두 요소 간의 차이는 2이며 변수 y에 저장됩니다. 입력이 행렬인 경우 차이는 입력 행렬의 행 간의 차이가 되고 행의 크기는 행의 길이와 차이의 차수 간의 차이와 같습니다. 예를 들어 벡터 값 간의 차이를 찾아보겠습니다. 아래 코드를 참조하십시오.
clc
x = [1 3 6 9; 1 2 3 4]
y = diff(x)
출력:
x =
1 3 6 9
1 2 3 4
y =
0 -1 -3 -5
출력에서 입력 행렬의 처음 두 행의 처음 두 요소 간의 차이는 0이며 변수 y에 저장됩니다. 입력 행렬에서 한 행을 늘리면 출력 행렬에서도 한 행이 증가합니다. diff()
함수의 두 번째 인수를 사용하여 벡터 또는 행렬 요소 간의 n번째 시간 차이를 찾을 수도 있습니다. 예를 들어 diff(x,2)
함수는 입력 벡터 또는 행렬 값 간의 2차 차이를 찾습니다. diff(x,2)
문은 diff(diff(x))
문과 동일합니다. 예를 들어, 위 벡터의 값 사이의 2차 차이를 구해 봅시다. 아래 코드를 참조하십시오.
clc
x = [1 3 6 9]
y = diff(x,2)
출력:
x =
1 3 6 9
y =
1 0
출력에서는 크기가 입력 벡터의 길이와 차이 차수의 차이와 같기 때문에 출력 벡터의 크기도 감소했습니다. 고차의 경우 diff()
함수는 자신을 재귀적으로 호출하여 차이를 찾습니다. diff()
함수의 세 번째 인수를 사용하여 행 대신 행렬의 열 간의 차이를 찾을 수도 있습니다. 예를 들어 위 행렬의 열 간의 차이를 찾아보자. 아래 코드를 참조하십시오.
clc
x = [1 3 6 9; 1 2 3 4]
y = diff(x,1,2)
출력:
x =
1 3 6 9
1 2 3 4
y =
2 3 3
1 1 1
열 간의 차이가 있는 경우 열의 크기는 열의 길이와 차이의 순서의 차이와 같으며 행 크기는 동일하게 유지됩니다. diff(f)/h
함수를 사용하여 함수의 편미분을 찾을 수도 있습니다. 여기서 f는 주어진 함수이고 h는 단계 크기입니다. 예를 들어 sin(x)
의 편도함수를 찾아 plot()
함수를 사용하여 그래프에 플로팅해 보겠습니다. 아래 코드를 참조하십시오.
h = 0.001;
x = -2*pi:h:2*pi;
f = sin(x);
y = diff(f)/h;
plot(x(:,1:length(y)),y,x,f)
legend('sin(x)','cos(x)')
출력:
출력에서 파란색 선은 사인파이고 빨간색 선은 사인파의 미분인 코사인파입니다. legend()
함수는 그래프에 범례를 그려 어떤 플롯이 어떤 데이터에 속하는지 나타내는 데 사용됩니다.