findSymType

Поиск символических подобъектов определенного типа

Описание

пример

X = findSymType(symObj,type) возвращает вектор символьных подобъектов типа type от символического объекта symObj. Область входа type должен быть строковым скаляром с учетом регистра или вектором символов, и может включать логическое выражение.

  • Если symObj не содержит символического подобъекта типа type, затем findSymType возвращает пустой скаляр.

  • Если symObj содержит несколько подэкспрессий типа type, затем findSymType возвращает наибольшую соответствующую подэкспрессию.

пример

X = findSymType(symObj,funType,vars) возвращает вектор неназначенных символьных функций, которые зависят от переменных vars от символьного входного symObj.

Можно задать тип функции funType на 'symfunOf' или 'symfunDependingOn'. Для примера, syms f(x); findSymType(f,'symfunOf',x) возвращает f(x).

Примеры

свернуть все

Найдите и верните определенные символьные числа и константы в символическом выражении.

Создайте символическое выражение.

expr = sym('1/2')*pi + vpa(pi)
expr = 

π2+3.1415926535897932384626433832795sym (pi )/2 + vpa ('3.14159265358997932384626433832795')

Найдите символьные числа типа 'integer'.

X = findSymType(expr,'integer')
X = (12)[sym (1), sym (2)]

Найдите символьные числа типа 'integer | real'.

X = findSymType(expr,'integer | real')
X = 

(123.1415926535897932384626433832795)[sym (1/2), vpa ('3.1415926535897932384626433832795')]

Найдите символьные числа типа 'vpareal'.

X = findSymType(expr,'vpareal')
X = 3.1415926535897932384626433832795vpa ('3.1415926535897932384626433832795')

Найдите символьные числа типа 'complex'.

X = findSymType(expr,'complex')
 
X =
 
Empty sym: 1-by-0
 

The findSymType функция возвращает пустой скаляр с момента выражения expr не содержит комплексных чисел.

Теперь найдите символическую константу типа 'constant'.

X = findSymType(expr,'constant')
X = 

π2+3.1415926535897932384626433832795sym (pi )/2 + vpa ('3.14159265358997932384626433832795')

Когда существует несколько подэкспрессий типа 'constant', findSymType возвращает наибольшую соответствующую подэкспрессию.

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

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

syms y(t) k
eq = diff(y) + k*y == sin(y)
eq(t) = 

t y(t)+ky(t)=sin(y(t))diff (y (t), t) + k * y (t) = = sin (y (t))

Найдите символьные переменные типа 'variable' в уравнении.

X = findSymType(eq,'variable')
X = (kt)[k, t]

Найдите неназначенную символическую функцию типа 'symfun' в уравнении.

X = findSymType(eq,'symfun')
X = y(t)y(t)

Найдите символьную математическую функцию типа 'diff' в уравнении.

X = findSymType(eq,'diff')
X = 

t y(t)diff (y (t), t)

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

Создайте символическое выражение.

syms n f(x) g(x) y(x,t)
expr = x + f(x^n) + g(x)+ y(x,t)
expr = x+f(xn)+g(x)+y(x,t)x + f (x ^ n) + g (x) + y (x, t)

Найдите неназначенные символьные функции типа 'symfun' в выражении.

X = findSymType(expr,'symfun')
X = (f(xn)g(x)y(x,t))[f (x ^ n), g (x), y (x, t)]

Найдите символические функции, которые зависят от точной последовательности переменных [x t] использование 'symfunOf'.

X = findSymType(expr,'symfunOf',[x t])
X = y(x,t)y(x, t)

Найдите символьные функции, которые имеют зависимость от переменной x, используя 'symfunDependingOn'.

X = findSymType(expr,'symfunDependingOn',x)
X = (g(x)y(x,t))[g (x), y (x, t)]

Входные параметры

свернуть все

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

Символические типы, заданные как чувствительная к регистру скалярная строка или вектор символов. Область входа type может содержать логическое выражение. Далее приводятся опции значения.

Категория символического типаСтроковые значения
числа
  • 'integer' - целочисленные числа

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

  • 'vpareal' - переменная точность с плавающей точкой вещественные числа

  • 'complex' - комплексные числа

  • 'real' - действительные числа, включая 'integer', 'rational', и 'vpareal'

  • 'number' - номера, включая 'integer', 'rational', 'vpareal', 'complex', и 'real'

константы'constant' - символьные математические константы, включая 'number'
символьные математические функции'vpa', 'sin', 'exp', и так далее - символьные математические функции в символьных выражениях
неназначенные символьные функции
  • 'F', 'g', и так далее - имя функции неназначенной символьной функции

  • 'symfun' - неназначенные символические функции

арифметические операторы
  • 'plus' - оператор сложения + и оператор вычитания -

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

  • 'power' - оператор степени или экспоненции ^ и квадратный корневой оператор sqrt

переменные'variable' - символьные переменные
модули'units' - символические модули
выражения'expression' - символические выражения, включая все предыдущие символические типы
логические выражения
  • 'or' - логический оператор ИЛИ |

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

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

  • 'xor' - логический оператор exclusive-OR xor

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

  • 'logicalexpression' - логические выражения, включая 'or', 'and', 'not', 'xor', symtrue и symfalse

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

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

  • 'lt' - меньше, чем оператор < или больше, чем оператор >

  • 'le' - оператор меньше, чем-или равный- <= или оператор, больший, чем - или равный - >=

  • 'equation' - символьные уравнения и неравенства, включая 'eq', 'ne', 'lt', и 'le'

неподдерживаемые символические типы

'unsupported' - неподдерживаемые символические типы

Если symObj содержит несколько подэкспрессий типа type, затем findSymType возвращает самую большую соответствующую подэкспрессию (самый верхний соответствующий узел в древовидной структуре данных).

Тип функции, заданный как 'symfunOf' или 'symfunDependingOn'.

  • 'symfunOf' находит и возвращает неназначенные символьные функции, которые зависят от точной последовательности переменных, заданных массивом vars. Для примера, syms f(x,y); findSymType(f,'symfunOf',[x y]) возвращает f(x,y).

  • 'symfunDependingOn' находит и возвращает неназначенные символьные функции, которые имеют зависимость от переменных, заданных массивом vars. Для примера, syms f(x,y); findSymType(f,'symfunDependingOn',x) возвращает f(x,y).

Входные переменные, заданные как символьные переменные или символьный массив.

Введенный в R2019a