Определение того, содержит ли символический объект определенный тип
Определите, содержит ли символьное выражение символьную переменную, константу или число определенного типа.
Создайте символическое выражение.
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 + pig(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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.