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

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

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

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

Похожие темы