exponenta event banner

symFunType

Определение функционального типа символического объекта

Синтаксис

Описание

пример

s = symFunType(symObj) возвращает функциональный тип символьного объекта.

  • Если symObj является символьной функцией или символическим выражением, то symFunType возвращает самое верхнее имя функции или оператор symObj. Например, syms x; symFunType(2*sin(x)) прибыль "times".

  • Если symObj не является символической функцией или символическим выражением, то symFunType возвращает тот же вывод, что и symType. Например, symFunType(sym('2')) прибыль "integer".

Примеры

свернуть все

Создайте массив символьных функций и выражений.

syms f(x)
expr = [f(x) sin(x) exp(x) int(f(x)) diff(f(x))]
expr = 

(f(x)sin(x)exf(x)dxx f(x))[f(x), sin(x), exp(x), int(f(x), x), diff(f(x), x)]

Определите функциональный тип каждого элемента массива.

s = symFunType(expr)
s = 1x5 string
    "f"    "sin"    "exp"    "int"    "diff"

Создайте два символьных выражения. Определите самые верхние арифметические операторы выражений.

syms x
expr1 = x/(x^2+x+2);
expr2 = x + 1/(x^2+x+2);
s1 = symFunType(expr1)
s1 = 
"times"
s2 = symFunType(expr2)
s2 = 
"plus"

Чтобы вернуть условия, разделенные операторами, используйте children.

terms1 = children(expr1)
terms1=1×2 cell array
    {1x1 sym}    {1x1 sym}

terms2 = children(expr2)
terms2=1×2 cell array
    {1x1 sym}    {1x1 sym}

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

syms x y
eqns = [x+y==2, x<=5, y>3]
eqns = (x+y=2x53<y)[x + y == 2, x <= 5, 3 < y]

Определите самый верхний оператор сравнения в каждом элементе массива.

s = symFunType(eqns)
s = 1x3 string
    "eq"    "le"    "lt"

Входные аргументы

свернуть все

Символьные объекты, определяемые как символьные выражения, символьные функции, символьные переменные, символьные числа или символьные единицы измерения.

Выходные аргументы

свернуть все

Символьные функциональные типы, возвращаемые в виде строкового массива. Если symObj является символьной функцией или символическим выражением, то symFunType возвращает самое верхнее имя функции или оператор symObj. В этой таблице показаны выходные значения для различных символьных объектов.

Символьные функциональные типыВозвращенные выходные данныеПример ввода
символьные математические функции"sin", "exp", "fourier", и так далее - имя самой верхней символьной математической функции в символьном выраженииsyms f(x); symFunType([sin(x), exp(x), fourier(f(x))])
неназначенные символические функции

"f", "g", и так далее - неназначенная символическая функция

syms f(x) g(x); symFunType([f, g(x+2)])
арифметические операторы
  • "plus" - оператор сложения + и оператор вычитания -

  • "times" - оператор умножения * и оператор деления /

  • "power" - оператор мощности или возведения в степень ^ оператор квадратного корня sqrt

  • syms x; symFunType(x^2-x)

  • syms x; symFunType(2*x^2)

  • syms x; symFunType([x^2 sqrt(x)])

уравнения и неравенства
  • "eq" - оператор равенства ==

  • "ne" - оператор неравенства ~=

  • "lt" - меньше оператора < или оператор «больше» >

  • "le" - оператор меньше или равен <= или оператор «больше» или «равно» >=

  • syms x y; symFunType(x==y)

  • syms x y; symFunType(x~=y)

  • syms x y; symFunType(x<y)

  • syms x y; symFunType(x>=y)

логические операторы и константы
  • "or" - логический оператор OR |

  • "and" - логический оператор И &

  • "not" - логический оператор NOT ~

  • "xor" - логический оператор исключающее ИЛИ xor

  • "logicalconstant" - символьные логические константы symtrue и symfalse

  • syms x y; symFunType(x|y)

  • syms x y; symFunType(x&y)

  • syms x; symFunType(~x)

  • syms x y; symFunType(xor(x,y))

  • symFunType([symtrue symfalse])

числа
  • "integer" - целое число

  • "rational" - рациональное число

  • "vpareal" - вещественное число с плавающей запятой переменной точности

  • "complex" - комплексное число

  • symFunType(sym('-1'))

  • symFunType(sym('1/2'))

  • symFunType([sym('1.5') vpa('3/2')])

  • symFunType(sym('1+2i'))

константы

"constant" - символьная математическая константа

symFunType(sym([pi catalan]))
переменные

"variable"

symFunType(sym(x))
единицы

"units"

symFunType(symunit('m'))
неподдерживаемые символьные типы"unsupported" 

См. также

| | | | |

Представлен в R2019a