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를 사용하여 벡터 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
로 이산시간 컨벌루션을 수행하여 컨벌루션에 대한 배열을 구성합니다.
입력값 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
와 r
의 첫 번째 요소가 서로 다르면 toeplitz
는 대각선에 열 요소를 사용합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
복소수 지원 여부: 예
테플리츠 행렬의 행으로, 스칼라 또는 벡터로 지정됩니다. 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 함수 실행하기 항목을 참조하십시오.
toeplitz
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)