^, _powerВозведите выражение в степень
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Для функции power в MATLAB® смотрите power.
x ^ y _power(x,y)
x^y вычисляет y-th степень x.
x^y эквивалентен вызову функции _power(x, y).
Оператор степени ^ левоассоциативен: x^y^z анализируется как (x^y)^z. Cf. Пример 2.
Если x является полиномом типа DOM_POLY, то y должен быть неотрицательным целым числом, меньшим, чем 231.
_power перегружается для матричных областей (matrix). В частности, x^(-1) возвращает инверсию матричного x.
Используйте powermod, чтобы вычислить модульные степени. Cf. Пример 3.
Математически, вызов sqrt(x) эквивалентен x^(1/2). Обратите внимание, однако, что sqrt пытается упростить результат. Cf. Пример 4.
Если x или y являются элементом области с slot"_power", то этот метод используется, чтобы вычислить x^y. Много областей библиотеки перегружают оператор ^ соответствующим слотом "_power". Полномочия обрабатываются можно следующим образом:
x^y ищется элементы областей библиотеки слева направо. Позвольте z (или x или y) быть первым сроком, который не имеет одного из основных типов, обеспеченных ядром (числа, выражения, и т.д.). Если доменный d = z::dom = domtype(z) имеет slot"_power", это называется в форме d::_power(x, y). Результатом, возвращенным d::_power, является результат x^y.
Для конечных множеств X, Y, степень X^Y является набором
.
Вычисляются некоторые степени:
2^10, I^(-5), 0.3^(1/3), x^(1/2) + y^(-1/2), (x^(-10) + 1)^2
![]()
Используйте expand, чтобы “расширить” степени сумм:
(x + y)^2 = expand((x + y)^2)
![]()
Обратите внимание на то, что тождества, такие как (x*y)^z = x^z * y^z только содержат в определенных областях комплексной плоскости:
((-1)*(-1))^(1/2) <> (-1)^(1/2) * (-1)^(1/2)
![]()
Следовательно, следующая команда expand не расширяет свой аргумент:
expand((x*y)^(1/2))
![]()
Оператор степени ^ левоассоциативен:
2^3^4 = (2^3)^4, x^y^z
![]()
Модульные степени могут быть вычислены непосредственно с помощью ^ и mod. Однако powermod более эффективен:
123^12345 mod 17 = powermod(123, 12345, 17)
![]()
Функциональный sqrt приводит к более простым результатам, чем _power:
sqrt(4*x*y), (4*x*y)^(1/2)
![]()
Для конечных множеств X^Y является набором
:
{a, b, c}^2, {a, b, c}^{q, r, s}![]()
Различные области библиотеки, такие как матричные области или перегрузка областей класса вычетов _power:
x := Dom::Matrix(Dom::IntegerMod(7))([[2, 3], [3, 4]]): x^2, x^(-1), x^3 * x^(-3)

delete x:
Этот пример демонстрирует поведение _power на пользовательских областях. Без слота "power" степени доменных элементов обработаны как любые другие символьные степени:
myDomain := newDomain("myDomain"): x := new(myDomain, 1): x^2![]()
type(x^2), op(x^2, 0), op(x^2, 1), op(x^2, 2)
![]()
После того, как слот "_power" задан, этот метод используется, чтобы вычислить степени объектов myDomain:
myDomain::_power := proc() begin "The result" end: x^2
![]()
delete myDomain, x:
|
арифметические выражения, полиномы типа |
Арифметическое выражение, полином, интервал с плавающей точкой или набор.
x, y