exponenta event banner

Создание символьных матриц

Использование существующих символьных переменных

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

Дополнительные сведения о преобразовании числовых в символьные см. в разделе Преобразование числовых в символьные.

Связанные темы