Определите, содержит ли символьный объект определенный тип
Определите, содержит ли символьное выражение символьную переменную, константу или число определенного типа.
Создайте символическое выражение.
syms x; expr = sym('1/2') + 2*pi + x
expr =
Проверяйте, expr
ли содержит символьную переменную типа
'variable'
.
TF = hasSymType(expr,'variable')
TF = logical
1
Проверяйте, expr
ли содержит символьную константу типа
'constant'
.
TF = hasSymType(expr,'constant')
TF = logical
1
Проверяйте, expr
ли содержит символьное число типов
'integer'
.
TF = hasSymType(expr,'integer')
TF = logical
1
Проверяйте, expr
ли содержит символьное число типов
'integer | real'
.
TF = hasSymType(expr,'integer | real')
TF = logical
1
Проверяйте, expr
ли содержит символьное число типов
'complex'
.
TF = hasSymType(expr,'complex')
TF = logical
0
Определите, содержит ли символьное уравнение символьную функцию или оператор определенного типа.
Создайте символьное уравнение.
syms f(x) n eq = f(x^n) + int(f(x),x) + vpa(2.7) == 1i
eq =
Проверяйте, eq
ли содержит символическую функцию
'f'
.
TF = hasSymType(eq,'f')
TF = logical
1
Проверяйте, eq
ли содержит неназначенную символьную функцию типа
'symfun'
.
TF = hasSymType(eq,'symfun')
TF = logical
1
Проверяйте, eq
ли содержит символьную математическую функцию типа
'int'
.
TF = hasSymType(eq,'int')
TF = logical
1
Проверяйте, eq
ли содержит оператор типа
'power'
.
TF = hasSymType(eq,'power')
TF = logical
1
Создайте символьную функцию из нескольких переменных, используя syms
.
syms f(x,y,z)
g = f + x*y + pi
g(x, y, z) =
Проверяйте, g
ли зависит от точной переменной
x
использование 'symfunOf'
.
TF = hasSymType(g,'symfunOf',x)
TF = logical
0
Проверяйте, g
ли зависит от точной последовательности переменных
[x y z]
использование 'symfunOf'
.
TF = hasSymType(g,'symfunOf',[x y z])
TF = logical
1
Проверяйте, g
ли имеет любую зависимость от переменных
[y x]
использование 'symfunDependingOn'
.
TF = hasSymType(g,'symfunDependingOn',[y x])
TF = logical
1
symObj
- Символические объектыСимволические объекты, заданные в виде символьных выражений, символьных функций, символьных переменных, символьных чисел или символьных модулей.
type
- Символические типыСимволические типы, заданные как чувствительная к регистру скалярная строка или вектор символов. Область входа type
может содержать логическое выражение. Далее приводятся опции значения.
Категория символического типа | Строковые значения | Примеры Возврата Логического 1 |
---|---|---|
числа |
|
|
константы | 'constant' - символьные математические константы, включая 'number' | hasSymType([sym(pi) vpa(1i)],'constant') |
символьные математические функции | 'vpa' , 'sin' , 'exp' , и так далее - символьные математические функции в символьных выражениях | hasSymType(vpa(sym(pi)),'vpa') |
неназначенные символьные функции |
|
|
арифметические операторы |
|
|
переменные | 'variable' - символьные переменные | hasSymType(sym('x'),'variable') |
модули | 'units' - символические модули | hasSymType(symunit('m'),'units') |
выражения | 'expression' - символические выражения, включая все предыдущие символические типы | hasSymType(sym('x')+1,'expression') |
логические выражения |
|
|
уравнения и неравенства |
|
|
неподдерживаемые символические типы |
|
funType
- Тип функции'symfunOf'
| 'symfunDependingOn'
Тип функции, заданный как 'symfunOf'
или 'symfunDependingOn'
.
'symfunOf'
проверяет, symObj
ли содержит неназначенную символьную функцию, которая зависит от точной последовательности переменных, заданных массивом
vars
. Для примера, syms f(x,y); hasSymType(f,'symfunOf',[x y])
возвращает логический 1
.
'symfunDependingOn'
проверяет, symObj
ли содержит неназначенную символьную функцию, которая имеет зависимость от переменных, заданных массивом
vars
. Для примера, syms f(x,y); hasSymType(f,'symfunDependingOn',[y x])
возвращает логический 1
.
vars
- Входные переменныеВходные переменные, заданные как символьные переменные или символьный массив.
Чтобы проверить, содержит ли символьное выражение конкретную подэкспрессию, используйте has
функция.
findSymType
| has
| isSymType
| mapSymType
| sym
| symFunType
| syms
| symType
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.