toeplitz
테플리츠 행렬
설명
예제
대칭 테플리츠 행렬 만들기
비대칭 테플리츠 행렬 만들기
지정된 열 벡터와 행 벡터를 가진 비대칭 테플리츠 행렬을 만듭니다. 열 벡터와 행 벡터의 첫 번째 요소가 일치하지 않기 때문에 toeplitz
는 경고를 발생시키고 대각선 요소에 열을 사용합니다.
c = [1 2 3 4]; r = [4 5 6]; toeplitz(c,r)
Warning: First element of input column does not match first element of input row. Column wins diagonal conflict.
ans = 4×3
1 5 6
2 1 5
3 2 1
4 3 2
복소수 행 벡터와 열 벡터를 가진 테플리츠 행렬을 만듭니다.
c = [1+3i 2-5i -1+3i]; r = [1+3i 3-1i -1-2i]; T = toeplitz(c,r)
T = 3×3 complex
1.0000 + 3.0000i 3.0000 - 1.0000i -1.0000 - 2.0000i
2.0000 - 5.0000i 1.0000 + 3.0000i 3.0000 - 1.0000i
-1.0000 + 3.0000i 2.0000 - 5.0000i 1.0000 + 3.0000i
toeplitz
함수를 사용하여 순환 행렬 만들기
toeplitz
를 사용하여 순환 행렬을 만들 수 있습니다. 순환 행렬은 원형 컨벌루션 같은 응용 분야에 사용됩니다.
toeplitz를 사용하여 벡터 v
에서 순환 행렬을 만듭니다.
v = [9 1 3 2]; toeplitz([v(1) fliplr(v(2:end))], v)
ans = 4×4
9 1 3 2
2 9 1 3
3 2 9 1
1 3 2 9
toeplitz
로 이산시간 원형 컨벌루션을 수행하여 컨벌루션에 대한 순환 행렬을 구성합니다.
주기적 입력값 x
와 시스템 응답 h
를 정의합니다.
x = [1 8 3 2 5]; h = [3 5 2 4 1];
열 벡터 c
를 구성하여 length(c) = length(h)
인 순환 행렬을 만듭니다.
c = [x(1) fliplr(x(end-length(h)+2:end))]
c = 1×5
1 5 2 3 8
x
에서 행 벡터 r
을 구성합니다.
r = x;
toeplitz
를 사용하여 컨벌루션 행렬 xConv
를 구성합니다. h*xConv
를 사용하여 컨벌루션을 구합니다.
xConv = toeplitz(c,r)
xConv = 5×5
1 8 3 2 5
5 1 8 3 2
2 5 1 8 3
3 2 5 1 8
8 3 2 5 1
h*xConv
ans = 1×5
52 50 73 46 64
Signal Processing Toolbox™가 있을 경우 cconv
(Signal Processing Toolbox) 함수를 사용하여 원형 컨벌루션을 구할 수 있습니다.
Toeplitz
를 사용하는 이산시간 컨벌루션
toeplitz
로 이산시간 컨벌루션을 수행하여 컨벌루션에 대한 배열을 구성합니다.
입력값 x
와 시스템 응답 h
를 정의합니다.
x = [1 8 3 2 5]; h = [3 5 2];
x
를 0으로 채워 r
을 구성합니다. r
의 길이는 컨벌루션 길이 x + h - 1
입니다.
r = [x zeros(1,length(h)-1)]
r = 1×7
1 8 3 2 5 0 0
열 벡터 c
를 구성합니다. 열에 따라 대각선이 결정되므로 첫 번째 요소를 x(1)
로 설정합니다. 컨벌루션의 경우 length(c)
는 length(h)
와 같아야 하므로 c
를 채웁니다.
c = [x(1) zeros(1,length(h)-1)]
c = 1×3
1 0 0
toeplitz
를 사용하여 컨벌루션 행렬 xConv
를 구성합니다. 그런 다음, h*xConv
를 사용하여 컨벌루션을 구합니다.
xConv = toeplitz(c,r)
xConv = 3×7
1 8 3 2 5 0 0
0 1 8 3 2 5 0
0 0 1 8 3 2 5
h*xConv
ans = 1×7
3 29 51 37 31 29 10
conv
를 사용하여 결과가 정확한지 확인합니다.
conv(x,h)
ans = 1×7
3 29 51 37 31 29 10
입력 인수
c
— 테플리츠 행렬의 열
스칼라 | 벡터
테플리츠 행렬의 열로, 스칼라 또는 벡터로 지정됩니다. c
와 r
의 첫 번째 요소가 서로 다르면 toeplitz
는 대각선에 열 요소를 사용합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
복소수 지원 여부: 예
r
— 테플리츠 행렬의 행
스칼라 | 벡터
테플리츠 행렬의 행으로, 스칼라 또는 벡터로 지정됩니다. c
와 r
의 첫 번째 요소가 서로 다르면 toeplitz
는 대각선에 열 요소를 사용합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
복소수 지원 여부: 예
세부 정보
테플리츠 행렬
테플리츠 행렬(Toeplitz matrix)은 대각 상수(diagonal-constant) 행렬로, 대각선상의 모든 요소가 동일한 값을 가집니다. 테플리츠 행렬 A의 경우, Ai,j = ai–j이며 결과적으로 다음과 같은 형식을 갖습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
toeplitz
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
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)