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

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

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

Для получения дополнительной информации о числовом преобразовании в символическое смотрите «Числовое преобразование в символьное».

Похожие темы