Циркулянтная матрица имеет свойство, что каждая строка получена из предыдущей путем циклической перестановки записей на шаг вперед. Для примера создайте символьную циркулянтную матрицу, элементы которой a
, b
, и c
, с помощью команд:
syms a b c A = [a b c; c a b; b c a]
A = [ a, b, c] [ c, a, b] [ b, c, a]
Начиная с матричных A
циркулянт, сумма элементов по каждой строке и каждому столбцу одинаковая. Найдите сумму всех элементов первой строки:
sum(A(1,:))
ans = a + b + c
Чтобы проверить, равна ли сумма элементов первой строки сумме элементов второго столбца, используйте isAlways
функция:
isAlways(sum(A(1,:)) == sum(A(:,2)))
Суммы равны:
ans = logical 1
Из этого примера можно увидеть, что использование символических объектов очень похоже на использование регулярных MATLAB® числовые объекты.
The sym
функция также позволяет вам задать символьную матрицу или вектор без необходимости задавать ее элементы заранее. В этом случае sym
функция генерирует элементы массива символьной матрицы одновременно с созданием матрицы. Функция представляет все сгенерированные элементы с одной и той же формой: основу (которая должна быть допустимым именем переменной), индекс строки и индекс столбца. Используйте первый аргумент sym
для определения основы имен сгенерированных элементов. Вы можете использовать любое допустимое имя переменной в качестве основы. Чтобы проверить, является ли имя допустимым именем переменной, используйте isvarname
функция. По умолчанию sym
разделяет индекс строки и индекс столбца подчеркиванием. Для примера создайте матрицу 2 на 4 A
с элементами A1_1, ..., A2_4
:
A = sym('A', [2 4])
A = [ A1_1, A1_2, A1_3, A1_4] [ A2_1, A2_2, A2_3, A2_4]
Чтобы управлять форматом сгенерированных имен элементов матрицы, используйте %d
в первом аргументе:
A = sym('A%d%d', [2 4])
A = [ A11, A12, A13, A14] [ A21, A22, A23, A24]
Особенно эффективное использование sym
преобразует матрицу из числовой в символьную форму. Команда
A = hilb(3)
генерирует гильбертову матрицу 3 на 3:
A = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000
Путем применения sym
на A
A = sym(A)
можно получить точную символическую форму гильбертовой матрицы 3 на 3:
A = [ 1, 1/2, 1/3] [ 1/2, 1/3, 1/4] [ 1/3, 1/4, 1/5]
Для получения дополнительной информации о числовом преобразовании в символическое смотрите «Числовое преобразование в символьное».