Определите тип символического объекта
Создайте символьное число и определите его тип.
a = sym('3/9');
s = symType(a)
s = "rational"
Теперь создайте символьный массив, включив символьные числа в элементы массива. Определите символический тип каждого элемента массива.
B = [-5, a, vpa(a), 1i, pi]; s = symType(B)
s = 1x5 string
"integer" "rational" "vpareal" "complex" "constant"
Создайте символьную функцию f(x)
использование syms
.
syms f(x)
Определите тип функции. Потому что f(x)
является неназначенной символической функцией, она имеет символический тип "symfun"
.
s = symType(f)
s = "symfun"
Присвоение математического выражения f(x)
изменяет его символический тип.
f(x) = x^2; s = symType(f)
s = "expression"
Теперь проверяйте символический тип f(x) = x
и его производную.
f(x) = x; s = symType(f)
s = "variable"
s = symType(diff(f))
s = "integer"
Определите тип различных символических объектов при решении для неравенств.
Создайте квадратичную функцию.
syms y(x)
y(x) = 100 - 5*x^2
y(x) =
Установите два неравенства в квадратичную функцию. Проверяйте символический тип каждого неравенства.
eq1 = y(x) > 10; eq2 = x > 2; s = symType([eq1 eq2])
s = 1x2 string
"equation" "equation"
Решите неравенства, используя solve
. Верните решения путем установки 'ReturnConditions'
на true
.
eqSol = solve([eq1 eq2], 'ReturnConditions', true);
sols = eqSol.conditions
sols =
Определите символический тип решений.
s = symType(sols)
s = "logicalexpression"
symObj
- Символические объектыСимволические объекты, заданные как символьные числа, символьные переменные, символьные выражения, символьные функции или символические модули.
s
- Символические типыСимволические типы, возвращенные как строковые массивы. В этой таблице показаны выходные значения для различных символьных объектов.
Выход | Описание | Вход |
---|---|---|
"integer" | символьное целое число | symType(sym('-1')) |
"rational" | символическое рациональное число | symType(sym('1/2')) |
"vpareal" | символьная переменная-точность с плавающей точкой вещественное число | symType([sym('1.5') vpa('3/2')]) |
"complex" | символическое комплексное число | symType(sym('1+2i')) |
"constant" | символьная математическая константа | symType(sym([pi catalan])) |
"variable" | символьная переменная | syms x; symType(x) |
"symfun" | неназначенная символьная функция | syms f(x); symType(f) |
"expression" | символьное выражение | syms x; symType(sqrt(x)) |
"equation" | символьное уравнение и неравенство | syms x; symType(x>=0) |
"unit" | символический модуль | symType(symunit('meter')) |
"logicalexpression" | символьное логическое выражение | syms x y; symType(x|y) |
"logicalconstant" | символьная логическая константа | symType([symtrue symfalse]) |
"unsupported" | символьный объект, не поддерживаемый symType |
hasSymType
| isSymType
| sym
| symfun
| symFunType
| syms
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.