polylib::makeratПреобразуйте выражение в рациональную функцию по подходящему полю
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
polylib::makerat(a, <maxd>) polylib::makerat(l, <maxd>)
polylib::makerat(a) возвращает два полинома f и g по rationals и списку замен, таким образом, что применение замен к рациональной функции
дает a.
polylib::makerat(l) делает то же самое для каждого элемента списка l и возвращает списки получившегося f и g.
polylib::makerat(a, maxd) d замен-th корни целых чисел элементами некоторого поля алгебраического расширения по rationals, если d ≤ maxd, и возвращает полиномы f и g по тому дополнительному полю.
polylib::makerat(a) замены все иррациональные подвыражения (кроме идентификаторов) в a недавно созданными идентификаторами, таким образом, производя рациональную функцию по rationals. Это возвращает числитель и знаменатель той рациональной функции как полиномы по Expr, и замены, которые будут сделаны возвратить числитель и знаменатель исходного входа a.
polylib::makerat(l) замены все иррациональные подвыражения во всех элементах l недавно созданными идентификаторами.
Каждое подвыражение заменяется тем же идентификатором каждый раз, когда это происходит.
Весь indeterminates входа и все новые идентификаторы становятся indeterminates результата, если второй аргумент maxd дан.
Мнимая единица я обработан специальным способом: это заменяется элементом `#I` из поля алгебраического расширения с минимальным полиномиальным `\#I`^2 + 1. Если я происхожу во входе, результат состоит из полиномов по тому дополнительному полю.
Если второй аргумент maxd дан, d-th корни rationals заменяются элементами подходящего полевого расширения rationals если d ≤ maxd. Таким же образом вложенные дробные степени rationals заменяются, если знаменатель некоторой экспоненты не превышает maxd. В этом случае возвращенный результат состоит из полиномов по башне дополнительных полей по rationals.
В самом простом случае (целочисленный полином), числитель равняется входу, знаменатель равняется 1, и никакие замены не необходимы:
polylib::makerat(x^2+3)
![]()
Трансцендентальные выражения заменяются новыми идентификаторами. Результат показывает, от которых переменных зависят сгенерированные идентификаторы:
polylib::makerat(sin(u)/x)
![]()
Числа с плавающей точкой рассматриваются трансцендентальными:
polylib::makerat(0.27*x)
![]()
По умолчанию радикалы обработаны как трансцендентальные подвыражения:
polylib::makerat(sqrt(2)/x)
![]()
Если достаточно большой второй аргумент дан, радикалы заменяются элементами алгебраических расширений:
polylib::makerat(sqrt(2)/x, 2)

|
Полином по |
|
Список или набор полиномов по |
|
Положительное целое число |
polylib::makerat возвращает последовательность выражения, состоящую из трех операндов:
Первый операнд представляет числитель (или список/набор числителей, соответственно). Это - один полином, если вызовом был polylib::makerat(a), в противном случае это - набор или список полиномов (тот же тип как вход). Полином (полиномы) может иметь больше indeterminates, чем вход. Содействующим звонком является любой Expr или Dom::AlgebraicExtension.
Второй операнд представляет знаменатель (или список/набор знаменателей, соответственно). Это имеет тот же тип как первый операнд.
Третий операнд является списком уравнений.