Определение того, является ли символический объект определенным типом
возвращает логический TF = isSymType(symObj,type)1 (true), если символический объект symObj имеет тип type, и логический 0 (false) в противном случае. Вход type должен быть чувствительным к регистру строковым скалярным или символьным вектором и может включать логическое выражение. Например, isSymType(sym('3'),'real & integer') возвращает логический 1.
Если symObj - символьное выражение с самым верхним оператором типа type, то isSymType(symObj,type) также возвращает логическое 1.
Создайте символическое число. Проверьте, имеет ли символическое число тип 'rational'.
a = sym('1/2'); TF = isSymType(a,'rational')
TF = logical
1
Теперь создайте символьный массив путем включения символьных чисел или констант в элементы массива.
N = [sym('1/2'), vpa(0.5), pi, vpa(pi), 1i]N =
Проверка типа каждого элемента массива 'real'.
TF = isSymType(N,'real')TF = 1x5 logical array
1 1 0 1 0
Проверка типа каждого элемента массива 'integer | real'.
TF = isSymType(N,'integer | real')TF = 1x5 logical array
1 1 0 1 0
Проверка типа каждого элемента массива 'number'.
TF = isSymType(N,'number')TF = 1x5 logical array
1 1 0 1 1
Проверка типа каждого элемента массива 'constant'.
TF = isSymType(N,'constant')TF = 1x5 logical array
1 1 1 1 1
Определите, относится ли самый верхний оператор символического выражения к определенному типу, например 'plus' или 'power'.
Создайте символическое выражение.
syms x
expr = x^2 + 2*x - 1expr =
Проверьте, является ли самый верхний оператор expr имеет тип 'plus'.
TF = isSymType(expr,'plus')TF = logical
1
Проверьте, является ли самый верхний оператор expr имеет тип 'power'.
TF = isSymType(expr,'power')TF = logical
0
Теперь выполните операцию символьного квадратного корня в выражении.
expr = sqrt(x^2 + 2*x - 1)
expr =
Проверьте, является ли самый верхний оператор expr имеет тип 'power'.
TF = isSymType(expr,'power')TF = logical
1
Выберите конкретные уравнения, которые являются постоянными в правой части.
Создайте массив из трех символьных уравнений.
syms r(t) x(t) y(t) eq1 = [x(t) == r(t)*cos(t), y(t) == r(t)*sin(t), r(t) == 5]
eq1 =
Выберите правую сторону каждого уравнения, используя rhs функция. Проверьте, имеет ли правая сторона каждого уравнения тип 'constant'.
TF = isSymType(rhs(eq1),'constant')TF = 1x3 logical array
0 0 1
Возвращает приведенное уравнение, постоянное в правой части.
eq2 = eq1(TF)
eq2 =
Создание символьной функции из нескольких переменных f(x,y) использование syms. Проверка неназначенной символьной функции f имеет тип 'symfun'.
syms f(x,y) TF = isSymType(f,'symfun')
TF = logical
1
Проверить, f зависит от точной переменной x.
TF = isSymType(f,'symfunOf',x)TF = logical
0
Проверить, f зависит от точной последовательности переменных [x y].
TF = isSymType(f,'symfunOf',[x y])TF = logical
1
Проверить, f зависит от переменной x.
TF = isSymType(f,'symfunDependingOn',x)TF = logical
1
symObj - Символические объектыСимвольные объекты, определяемые как символьные выражения, символьные функции, символьные переменные, символьные числа или символьные единицы измерения.
type - Символические типыСимвольные типы, определяемые как чувствительная к регистру скалярная строка или символьный вектор. Вход type может содержать логическое выражение. Ниже приведены параметры значений.
| Категория символьного типа | Строковые значения | Примеры возврата логического 1 |
|---|---|---|
| числа |
|
|
| константы | 'constant' - символьные математические константы, в том числе 'number' | isSymType([sym(pi) vpa(1i)],'constant') |
| символьные математические функции | 'vpa', 'sin', 'exp', и так далее - самые верхние символьные математические функции в символьных выражениях | isSymType(vpa(sym(pi)),'vpa') |
| неназначенные символические функции |
|
|
| арифметические операторы |
|
|
| переменные | 'variable' - символьные переменные | isSymType(sym('x'),'variable') |
| единицы | 'units' - символьные единицы | isSymType(symunit('m'),'units') |
| выражения | 'expression' - символьные выражения, включая все предшествующие символьные типы | isSymType(sym('x')+1,'expression') |
| логические выражения |
|
|
| уравнения и неравенства |
|
|
| неподдерживаемые символьные типы |
|
funType - Тип функции'symfunOf' | 'symfunDependingOn'Тип функции, указанный как 'symfunOf' или 'symfunDependingOn'.
'symfunOf' проверяет, symObj - неназначенная символьная функция, которая зависит от точной последовательности переменных, заданных массивом; vars. Например, syms f(x,y); isSymType(f,'symfunOf',[x y]) возвращает логический 1.
'symfunDependingOn' проверяет, symObj - неназначенная символьная функция, которая зависит от переменных, заданных массивом; vars. Например, syms f(x,y); isSymType(f,'symfunDependingOn',x) возвращает логический 1.
vars - Входные переменныеВходные переменные, определяемые как символьные переменные или символьный массив.
hasSymType | sym | symFunType | syms | symType
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.