exponenta event banner

toeplitz

Символьная матрица Тёплица

Синтаксис

Описание

пример

toeplitz(c,r) генерирует несимметричную матрицу Тёплица, имеющую c в качестве первой колонки и r в качестве первого ряда. Если первые элементы c и r отличаются друг от друга, toeplitz выдает предупреждение и использует первый элемент столбца.

пример

toeplitz(r) генерирует симметричную матрицу Toeplitz, если r реально. Если r является сложным, но его первый элемент является реальным, затем этот синтаксис генерирует матрицу Эрмитского Тёплица, образованную из r. Если первый элемент r ненастоящая, то результирующая матрица эрмитова от главной диагонали, что означает, что Tij  = конъюгат (Tji) для  i ≠ j.

Примеры

Создание матрицы Toeplitz

Создайте матрицу Toeplitz из этих векторов. Поскольку эти векторы не являются символическими объектами, получаются результаты с плавающей запятой.

c = [1 2 3 4 5 6];
r = [1 3/2 3 7/2 5];
toeplitz(c,r)
ans =
    1.0000    1.5000    3.0000    3.5000    5.0000
    2.0000    1.0000    1.5000    3.0000    3.5000
    3.0000    2.0000    1.0000    1.5000    3.0000
    4.0000    3.0000    2.0000    1.0000    1.5000
    5.0000    4.0000    3.0000    2.0000    1.0000
    6.0000    5.0000    4.0000    3.0000    2.0000

Теперь преобразуйте эти векторы в символический объект и создайте матрицу Toeplitz:

c = sym([1 2 3 4 5 6]);
r = sym([1 3/2 3 7/2 5]);
toeplitz(c,r)
ans =
[ 1, 3/2,   3, 7/2,   5]
[ 2,   1, 3/2,   3, 7/2]
[ 3,   2,   1, 3/2,   3]
[ 4,   3,   2,   1, 3/2]
[ 5,   4,   3,   2,   1]
[ 6,   5,   4,   3,   2]

Создание матрицы Toeplitz из вектора

Создайте матрицу Toeplitz из этого вектора:

syms a b c d
T = toeplitz([a b c d])
T =
[       a,       b,       c,       d]
[ conj(b),       a,       b,       c]
[ conj(c), conj(b),       a,       b]
[ conj(d), conj(c), conj(b),       a]

Если указать, что все элементы вещественные, то результирующая матрица Тёплица будет симметричной:

syms a b c d real
T = toeplitz([a b c d])
T =
[ a, b, c, d]
[ b, a, b, c]
[ c, b, a, b]
[ d, c, b, a]

Для дальнейших вычислений очистите допущения, повторно создав переменные с помощью syms:

syms a b c d

Создание Toeplitz с комплексными значениями

Создайте матрицу Тёплица из вектора, содержащего комплексные числа:

T = toeplitz(sym([1, 2, i]))
T =
[  1, 2, 1i]
[  2, 1, 2]
[ -1i, 2, 1]

Если первый элемент вектора вещественный, то результирующая матрица Тёплица эрмитова:

isAlways(T == T')
ans =
  3×3 logical array
   1   1   1
   1   1   1
   1   1   1

Если первый элемент не является реальным, то результирующая матрица Тёплица является эрмитовской от главной диагонали:

T = toeplitz(sym([i, 2, 1]))
T =
[ 1i, 2, 1]
[ 2, 1i, 2]
[ 1, 2, 1i]
isAlways(T == T')
ans =
  3×3 logical array
     0     1     1
     1     0     1
     1     1     0

Использовать векторы с конфликтующим первым элементом

Создайте матрицу Toeplitz, используя эти векторы, чтобы указать первый столбец и первую строку. Потому что первые элементы этих векторов различны, toeplitz выдает предупреждение и использует первый элемент столбца:

syms a b c
toeplitz([a b c], [1 b/2 a/2])
Warning: First element of given column does not match first element of given row. 
Column wins diagonal conflict.
 
ans =
[ a, b/2, a/2]
[ b,   a, b/2]
[ c,   b,   a]

Входные аргументы

свернуть все

Первый столбец матрицы Toeplitz, заданный как вектор или символьный вектор.

Первая строка матрицы Тёплица, заданная как вектор или символический вектор.

Подробнее

свернуть все

Матрица Теплица

Матрица Теплица - это матрица, которая имеет постоянные значения вдоль каждой нисходящей диагонали слева направо. Например, матрица T является симметричной матрицей Тёплица:

T = (t0t1t2tkt−1t0t1⋯t−2t−1t0⋮⋱⋮t0t1t2⋯t−1t0t1t−kt−2t−1t0)

Совет

  • Запрос toeplitz для числовых аргументов, которые не являются символическими объектами, вызывает MATLAB ®toeplitz функция.

См. также

Представлен в R2013a