syms или sym ФункцияВ символьных математических Toolbox™ можно объявить символические объекты с помощью одного syms или sym. Эти две функции концептуально различны.
syms функция создает символический объект, который автоматически назначается переменной MATLAB ® с тем же именем.
sym функция относится к символьному объекту, который может быть назначен переменной MATLAB с тем же именем или другим именем.
syms функция создает переменную динамически. Например, команда syms x создает символьную переменную x и автоматически назначает его переменной MATLAB с тем же именем.
syms x
xx =
sym функция относится к символьной переменной, которую затем можно назначить переменной MATLAB с другим именем. Например, команда f1 = sym('x') относится к символьной переменной x и назначает его переменной MATLAB f1.
f1 = sym('x')f1 =
Используйте syms функция для создания символьной переменной x и автоматически присваивать его переменной MATLAB x. При присвоении номера переменной MATLAB x, число представлено двойной точностью, и это назначение перезаписывает предыдущее назначение символьной переменной. Класс x становится double.
syms x
x = 1/33x = 0.0303
class(x)
ans = 'double'
Используйте sym для ссылки на точное символьное число без аппроксимации с плавающей запятой. Затем этот номер можно присвоить переменной MATLAB. x. Класс x является sym.
x = sym('1/33')x =
class(x)
ans = 'sym'
При создании символьной переменной с предположением MATLAB сохраняет ее отдельно.
Использовать syms для создания символьной переменной, назначенной переменной MATLAB с тем же именем. Вы получаете новую символическую переменную без предположений. При объявлении переменной с помощью symsсуществующие допущения устранены.
syms x positive syms x assumptions
ans = Empty sym: 1-by-0
Использовать sym для ссылки на существующую символьную переменную. Если эта символьная переменная использовалась в сеансе MATLAB ранее, то sym относится к нему и его нынешнему предположению. Если он не использовался раньше, то sym создает его без предположений.
syms x positive x = sym('x'); assumptions
ans =
Для одновременного создания нескольких символьных переменных используйте syms функция удобнее. В одной строке кода можно создать несколько переменных.
syms a b c
При использовании sym, необходимо объявлять переменные MATLAB поочередно и ссылаться на соответствующие символьные переменные.
a = sym('a'); b = sym('b'); c = sym('c');
Чтобы объявить символьный массив, содержащий символьные переменные в качестве его элементов, можно использовать либо syms или sym.
Команда syms a [1 3] создает символьный массив 1 на 3 a и символьные переменные a1, a2, и a3 в рабочей области. Символьные переменные a1, a2, и a3 автоматически назначаются символьному массиву a.
clear syms a [1 3] a
a =
whos
Name Size Bytes Class Attributes a 1x3 8 sym a1 1x1 8 sym a2 1x1 8 sym a3 1x1 8 sym
Команда a = sym('a',[1 3]) относится к символьным переменным a1, a2, и a3, которые назначены символьному массиву a в рабочей области. Элементы a1, a2, и a3 не создаются в рабочей области.
clear
a = sym('a',[1 3])a =
whos
Name Size Bytes Class Attributes a 1x3 8 sym
Чтобы объявить символьную переменную во вложенной функции, используйте sym. Например, можно явно определить переменную MATLAB. x в рабочей области родительской функции и см. x к символьной переменной с тем же именем.
function primaryFx x = sym('x') function nestedFx ... end end
Вложенные функции делают рабочую область статичной, поэтому динамически добавлять переменные с помощью нельзя syms.