Матрица Теплица
T = toeplitz(c,r)
T = toeplitz(r)
T = toeplitz(
возвращает несимметричную матрицу Теплица с c
,r
)c
как его первый столбец и r
как его первая строка. Если первые элементы c
и r
отличаются, toeplitz
выдает предупреждение и использует элемент столбца для диагонали.
T = toeplitz(
возвращает симметричную матрицу Теплица где:r
)
Если r
является вектором действительных чисел, то r
задает первую строку матрицы.
Если r
является комплексным вектором с действительным первым элементом, то r
задает первую строку, и r'
задает первый столбец.
Если первый элемент r
является комплексным, матрица Теплица является Эрмитовой от основной диагонали, что означает для . Элементы основной диагонали установлены в r(1)
.
Создайте несимметричную матрицу Теплица с заданным столбцом и вектором - строкой. Поскольку первые элементы вектор-столбцов и векторов - строк не соответствуют, 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. <br> 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
. Матрицы циркулянта используются в приложениях, таких как круговая свертка.
Создайте циркулянтную матрицу из векторного 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
Сформируйте вектор - строку r
из x
.
r = x;
Сформируйте матрицу свертки xConv
с помощью toeplitz
. Найдите свертку с помощью 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
, чтобы найти круговую свертку.
Дискретная свертка Используя Теплица
Выполните дискретную свертку при помощи toeplitz
, чтобы сформировать массивы для свертки.
Задайте вход x
и отклик системы h
.
x = [1 8 3 2 5]; h = [3 5 2];
Сформируйте r
путем дополнения x
нулями. Длина r
является длиной свертки x + h - 1
.
r = [x zeros(1,length(h)-1)]
r = 1×7
1 8 3 2 5 0 0
Сформируйте вектор-столбец c
. Установите первый элемент на x(1)
, потому что столбец определяет диагональ. Заполните c
, потому что length(c)
должен равняться length(h)
для свертки.
c = [x(1) zeros(1,length(h)-1)]
c = 1×3
1 0 0
Сформируйте матрицу свертки xConv
с помощью toeplitz
. Затем найдите свертку с помощью 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
Поддержка комплексного числа: Да
Матрица Теплица является диагонально-постоянной матрицей, что означает, что все элементы по диагонали имеют то же значение. Для матрицы Теплица A у нас есть Ai,j = ai–j , который приводит к форме
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.