syms или sym ФункцияВ Symbolic Math 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 all 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 all 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.