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