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