Определите, содержит ли символьный объект определенный тип
Определите, содержит ли символьное выражение символьную переменную, постоянную, или количество определенного типа.
Создайте символьное выражение.
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
может содержать логическое выражение. Опции значения следуют.
Символьная категория типа | Представьте значения в виде строки | Примеры, возвращающие логическую единицу |
---|---|---|
числа |
|
|
константы | 'constant' — символьные константы, включая 'number' | hasSymType([vpa(1i) sym(pi)],'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
| symType
| syms
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.