indets
Indeterminates выражения
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
indets(object
) indets(object
, <All>) indets(object
, <PolyExpr>) indets(object
, <RatExpr>)
indets(object)
возвращает indeterminates, содержавшийся в object
.
indets(object)
возвращает indeterminates object
как набор, т.е. идентификаторы без значения, которые происходят в object
, за исключением тех идентификаторов, происходящих в 0
th операнд подвыражения object
(см. Пример 1).
indets
расценивает специальные идентификаторы PI
, EULER
, CATALAN
как indeterminates, несмотря на то, что они представляют постоянные вещественные числа. Если вы хотите исключить эти специальные идентификаторы, используйте indets(object) minus Type::ConstantIdents
(см. Пример в качестве примера 1).
Если object
является полиномом, функциональной средой, процедурой или встроенное ядрофункция, то indets
возвращает пустое множество. Смотрите Пример 2.
Рассмотрите следующее выражение:
delete g, h, u, v, x, y, z: e := 1/(x[u] + g^h) - f(1/3) + (sin(y) + 1)^2*PI^3 + z^(-3)*v^(1/2)
indets(e)
Обратите внимание на то, что возвращенный набор содержит x
и u
и не, как каждый может, ожидают, x[u]
, поскольку внутренне x[u]
преобразован в функциональную форму _index(x, u)
. Кроме того, идентификатор, f
не рассматривается неопределенным, поскольку это - 0
th операнд подвыражения f(1/3)
.
Несмотря на то, что PI
математически представляет константу, это рассматривается неопределенным indets
. Используйте Type::ConstantIdents
, чтобы обойти это:
indets(e) minus Type::ConstantIdents
Результат indets
существенно отличается, если одна из этих двух опций RatExpr
или PolyExpr
задана:
indets(e, RatExpr)
Действительно, e
является рациональным выражением в “indeterminates” z, PI, sin(y), g^h, x[u], v^(1/2)
: e
создается из этих атомов и константного выражения f(1/3)
только при помощи рациональных операций +
, -
, *
, /
и ^
с целочисленными экспонентами. Точно так же e
создается из PI,sin(y),z^(-3),1/(g^h+x[u]),v^(1/2)
и константного выражения f(1/3)
с помощью только полиномиальные операции +
, -
, *
и ^
с неотрицательными целочисленными экспонентами:
indets(e, PolyExpr)
indets
также работает на различные другие типы данных. Полиномы и функции, как рассматривается, не имеют никакого indeterminates:
delete x, y: indets(poly(x*y, [x, y])), indets(sin), indets(x -> x^2+1)
Для контейнерных объектов indets
возвращает объединение indeterminates всех записей:
indets([x, exp(y)]), indets([x, exp(y)], PolyExpr)
Для таблиц только возвращены indeterminates записей; indeterminates в индексах проигнорированы:
indets(table(x = 1 + sin(y), 2 = PI))
В предыдущих примерах мы видели, что 0
th операнд подвыражения не используется для нахождения indeterminates. С опцией All
это изменяется:
delete x: e := sin(x): indets(e, All)
Более комплексный пример:
delete g, h, u, v, y, z: e := 1/(x[u] + g^h) - f(1/3) + (sin(y) + 1)^2*PI^3 + z^(-3)*v^(1/2)
indets(e,All)
delete e:
|
Произвольный объект |
|
Идентификаторы, происходящие в При использовании этой опции |
|
Возвратите набор арифметических выражений, таким образом, что При использовании этой опции Если |
|
Возвратите набор арифметических выражений, таким образом, что При использовании этой опции |
object
Если object
является элементом библиотеки domainT
, который имеет слот "indets"
, то стандартная программа слота T::indets
вызвана object
в качестве аргумента. Это может использоваться, чтобы расширить функциональность indets
к пользовательским областям. Если никакой такой слот не существует, то indets
возвращает пустое множество.
Type::Indeterminate
| Type::PolyExpr
| Type::RatExpr
| collect
| domtype
| op
| poly
| rationalize
| type