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.1415926535897932384626433832795

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

X = findSymType(expr,'integer')
X = (12)

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

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

(123.1415926535897932384626433832795)

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

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

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

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

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

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

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

π2+3.1415926535897932384626433832795

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

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

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

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

t y(t)+ky(t)=sin(y(t))

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

X = findSymType(eq,'variable')
X = (kt)

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

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

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

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

t y(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)

Ищите неприсвоенные символьные функции типа 'symfun' в выражении.

X = findSymType(expr,'symfun')
X = (f(xn)g(x)y(x,t))

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

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

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

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

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

свернуть все

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

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

Символьная категория типаПредставьте значения в виде строки
числа
  • 'integer' — целые числа

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

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

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

  • 'real' — вещественные числа, включая 'integer', 'rational', и 'vpareal'

  • 'number' — числа, включая 'integer', 'rational', 'vpareal'комплекс, и 'real'

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

  • 'symfun' — неприсвоенные символьные функции

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

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

  • 'power' — степень или оператор возведения в степень ^ и оператор квадратного корня sqrt

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

  • 'and' — логическая операция И &

  • 'not' — логический НЕ оператор ~

  • 'xor' — логический оператор исключающего ИЛИ 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
Для просмотра документации необходимо авторизоваться на сайте