Циркулянтная матрица имеет свойство, что каждая строка получена из предыдущей путем цикличной перестановки записей один шаг вперед. Например, создайте символьную циркулянтную матрицу, элементами которой является 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® числовые объекты.
Функция 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]
Для получения дополнительной информации о числовом к символьным преобразованиям смотрите Числовой к Символьному Преобразованию.