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" - логический оператор ИЛИ |

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

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

  • "xor" - логический оператор exclusive-OR 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