Символьная матрица Тёплица
toeplitz( генерирует несимметричную матрицу Тёплица, имеющую c,r)c в качестве первой колонки и r в качестве первого ряда. Если первые элементы c и r отличаются друг от друга, toeplitz выдает предупреждение и использует первый элемент столбца.
toeplitz( генерирует симметричную матрицу Toeplitz, если r)r реально. Если r является сложным, но его первый элемент является реальным, затем этот синтаксис генерирует матрицу Эрмитского Тёплица, образованную из r. Если первый элемент r ненастоящая, то результирующая матрица эрмитова от главной диагонали, что означает, что Tij = конъюгат (Tji) для i ≠ j.
Создайте матрицу 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 из этого вектора:
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
Создайте матрицу Тёплица из вектора, содержащего комплексные числа:
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 для числовых аргументов, которые не являются символическими объектами, вызывает MATLAB ®toeplitz функция.