syms
или sym
ФункцияВ Symbolic Math Toolbox™ можно объявить символьные объекты с помощью любого syms
или sym
. Эти две функции концептуально отличаются.
syms
функция создает символьный объект, который автоматически присвоен переменной MATLAB® с тем же именем.
sym
функция относится к символьному объекту, который может быть присвоен переменной MATLAB с тем же именем или другим именем.
syms
функция создает переменную динамически. Например, команда syms x
создает символьную переменную x
и автоматически присвоения это к переменной MATLAB с тем же именем.
syms x
x
x =
sym
функция относится к символьной переменной, которую можно затем присвоить переменной MATLAB с другим именем. Например, команда f1 = sym('x')
относится к символьной переменной x
и присвоения это к переменной MATLAB f1
.
f1 = sym('x')
f1 =
Используйте syms
функция, чтобы создать символьную переменную x
и автоматически присвойте его переменной MATLAB x
. Когда вы присваиваете номер переменной MATLAB x
, номер представлен в с двойной точностью, и это присвоение перезаписывает предыдущее присвоение на символьную переменную. Класс x
становится double
.
syms x
x = 1/33
x = 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
.