/, _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