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
.
Второй операнд представляет знаменатель (или список/набор знаменателей, соответственно). Это имеет тот же тип как первый операнд.
Третий операнд является списком уравнений.