/
, _divide
Разделите выражения
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
x / y _divide(x
,y
)
x/y
вычисляет частное x
и y
.
x/y
эквивалентен вызову функции _divide(x, y)
.
Для количеств типа Type::Numeric
частное возвращено как номер.
Если ни x
, ни y
не являются элементами областей библиотеки с методами "_divide"
, x/y
внутренне представлен как x * y^(-1)
= _mult(x, _power(y, -1))
.
Если x
или y
являются элементом области с slot"_divide"
, то этот метод используется, чтобы вычислить x/y
. Много областей библиотеки перегружают оператор /
соответствующим слотом "_divide"
. Частные обрабатываются можно следующим образом:
x/y
ищется элементы областей библиотеки слева направо. Позвольте z
(или x
или y
) быть первым сроком, который не имеет одного из основных типов, обеспеченных ядром (числа, выражения, и т.д.). Если доменный d
= z::dom
= domtype(z)
имеет slot"_divide"
, это называется в форме d::_divide(x, y)
. Результатом, возвращенным d::_divide
, является результат x/y
.
Пример Cf. в качестве примера 4 и Пример 5.
Полиномы типа, DOM_POLY
может быть разделен на /
, если у них есть тот же indeterminates и тот же содействующий звонок, и если деление без остатка возможно. Функциональный divide
может использоваться, чтобы вычислить частное полиномов с термином остатка.
Для конечных множеств X
, Y
, частное X/Y
является набором.
Частное чисел упрощено до номера:
1234/234, 7.5/7, 6*I/2
Внутренне, символьное частное x/y
представлено как продукт x * y^(-1)
:
type(x/y), op(x/y, 0), op(x/y, 1), op(x/y, 2)
op(op(x/y, 2), 0), op(op(x/y, 2), 1), op(op(x/y, 2), 2)
Для конечных множеств X
, Y
, частное X/Y
является набором:
{a, b, c} / {2, 3}
Полиномы типа, DOM_POLY
может быть разделен на /
, если у них есть тот же indeterminates, тот же содействующий звонок, и если деление без остатка возможно:
poly(x^2 - 1, [x]) / poly(x - 1, [x])
poly(x^2 - 1, [x]) / poly(x - 2, [x])
Функциональный divide
предоставляет делению остаток:
divide(poly(x^2 - 1, [x]), poly(x - 2, [x]))
Полиномы должны иметь тот же indeterminates и тот же содействующий звонок:
poly(x^2 - 1, [x, y]) / poly(x - 1, [x])
Error: Invalid argument. [divide]
Различные области библиотеки, такие как матричная перегрузка областей _divide
. Матричная область задает x/y
как x * (1/y)
, где 1/y
является инверсией y
:
x := Dom::Matrix(Dom::Integer)([[1, 2], [3, 4]]): y := Dom::Matrix(Dom::Rational)([[10, 11], [12, 13]]): x/y
Инверсия x
имеет рациональные записи. Поэтому 1/x
возвращает FAIL
, потому что звонком компонента x
является Dom::Integer
. Следовательно, также y/x
возвращает FAIL
:
y/x
delete x, y:
Этот пример демонстрирует поведение _divide
на пользовательских областях. В первом случае ниже, пользовательская область не имеет слота "_divide"
. Таким образом x/y
преобразовывается к x * (1/y)
:
Do := newDomain("Do"): x := new(Do, 1): y := new(Do, 2): x/y; op(x/y, 0..2)
После того, как slot"_divide"
задан в доменном Do
, этот метод используется, чтобы разделить элементы:
Do::_divide := proc() begin "The Result" end: x/y
delete Do, x, y:
|
арифметические выражения, полиномы типа |
Арифметическое выражение, полином или набор.
x, y