interpft
1차원 보간(FFT 방법)
설명
예제
푸리에 보간
FFT 방법을 사용하여 1차원 데이터를 보간하고 그 결과를 시각화합니다.
함수 에 대해 구간 에서 샘플 점을 생성합니다. dx
간격을 사용하여 데이터의 간격이 균일하도록 합니다. 샘플 점을 플로팅합니다.
dx = 3*pi/30;
x = 0:dx:3*pi;
f = sin(x).^2 .* cos(x);
plot(x,f,'o')
FFT 보간을 사용하여 200개 쿼리 점의 함수 값을 구합니다.
N = 200; y = interpft(f,N);
dy = dx*length(x)/N
인 샘플 점의 간격에서 보간된 점의 간격을 계산합니다. 여기서, N
은 보간 지점의 개수입니다. x2
의 샘플링 밀도에 맞게 y
의 데이터를 자릅니다.
dy = dx*length(x)/N; x2 = 0:dy:3*pi; y = y(1:length(x2));
결과를 플로팅합니다.
hold on plot(x2,y,'.') title('FFT Interpolation of Periodic Function')
데이터의 행 보간하기
정규분포된 난수 데이터 세트 세 개를 생성합니다. 데이터가 양의 정수 1:N
에서 샘플링되는 것으로 가정합니다. 데이터 세트를 행렬의 행으로 저장합니다.
A = randn(3,20); x = 1:20;
500개 쿼리 점 각각에 행렬의 행을 보간합니다. interpft
가 A
의 행에 대해 동작하도록 dim = 2
를 지정합니다.
N = 500; y = interpft(A,N,2);
보간된 데이터의 간격 dy
를 계산합니다. x2
의 샘플링 밀도에 맞게 y
의 데이터를 자릅니다.
dy = length(x)/N; x2 = 1:dy:20; y = y(:,1:length(x2));
결과를 플로팅합니다.
subplot(3,1,1) plot(x,A(1,:)','o'); hold on plot(x2,y(1,:)','--') title('Row 1') subplot(3,1,2) plot(x,A(2,:)','o'); hold on plot(x2,y(2,:)','--') title('Row 2') subplot(3,1,3) plot(x,A(3,:)','o'); hold on plot(x2,y(3,:)','--') title('Row 3')
입력 인수
X
— 입력 배열
벡터 | 행렬 | 다차원 배열
입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. X
의 데이터는 독립 변수가 균일한 간격으로 샘플링되는 것으로 간주됩니다. interpft
는 주기적 데이터에 가장 적합합니다.
데이터형: single
| double
복소수 지원 여부: 예
n
— 점 개수
양의 정수 스칼라
점 개수로, 양의 정수 스칼라로 지정됩니다.
데이터형: single
| double
dim
— 연산을 수행할 차원
양의 정수 스칼라
연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.
interpft(X,n,1)
은X
의 열을 보간합니다.interpft(X,n,2)
는X
의 행을 보간합니다.
예: interpft(X,n,3)
출력 인수
y
— 보간된 점
벡터 | 행렬 | 다차원 배열
보간된 점으로, 벡터, 행렬 또는 다차원 배열로 반환됩니다. length(X,dim) = m
이고 X
의 샘플링 간격이 dx
인 경우 y
의 새 샘플링 간격은 dy = dx*m/n
이 됩니다. n > m
입니다.
dim
이 지정된 경우 interpft
는 size(y,dim) = n
을 충족하도록 차원 dim
의 X
의 길이를 자르거나 채워 n
으로 맞춥니다.
알고리즘
interpft
함수는 FFT 방법을 사용합니다. 원본 벡터 x
는 fft
를 사용하여 푸리에 영역으로 변환된 다음 더 많은 점을 포함하여 원래대로 변환됩니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
n
은 양의 정수여야 합니다.가변 크기 데이터와 관련된 제한 사항을 보려면 Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)