/, _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 является набором.

Примеры

Пример 1

Частное чисел упрощено до номера:

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)

Пример 2

Для конечных множеств X, Y, частное X/Y является набором:

{a, b, c} / {2, 3}

Пример 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]

Пример 4

Различные области библиотеки, такие как матричная перегрузка областей _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:

Пример 5

Этот пример демонстрирует поведение _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

Смотрите также

Функции MuPAD