coeffКоэффициенты полинома
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
coeff(p, <All>) coeff(p, <x>,n, <All>) coeff(p, <[x, …]>,[n, …], <All>) coeff(f, <vars>, <All>) coeff(f, <vars>, <x>,n, <All>) coeff(f, <vars>, <[x, …]>,[n, …], <All>)
coeff(p) возвращает последовательность всех ненулевых коэффициентов полиномиального p.
coeff(p, x, n) отношения p как одномерный полином в x и возвращает коэффициент термина x^n.
coeff(p, [x,...], [n,...]) отношения p как многомерный полином в x,... и возвращает коэффициент термина x^n,....
Если первый аргумент f не элемент полиномиальной области, затем coeff преобразует выражение внутренне в полином типа DOM_POLY через poly(f). Если список indeterminates задан, полиномиальный poly(f, vars) рассматривается.
Коэффициенты многочленных выражений f возвращены как арифметические выражения.
Существуют различные способы вызвать coeff с полиномиальным p из типа DOM_POLY:
coeff(p) возвращает последовательность всех ненулевых коэффициентов p. Им упорядочивают согласно лексикографическому упорядоченному расположению термина. Порядок в убывании.
Возвращенные коэффициенты являются элементами содействующего звонка p.
coeff(p, x, n) отношения p как одномерный полином в переменной x и возвращает коэффициент термина x^n.
Для одномерных полиномов возвращенные коэффициенты являются элементами содействующего звонка p.
Для многомерных полиномов коэффициенты возвращены как полиномы типа DOM_POLY в “остающихся” переменных.
coeff(p, n) эквивалентно coeff(p, x, n), где x “основная переменная” p. Эта переменная является первым элементом списка indeterminates op(p, 2).
coeff(p, [x1,x2,...], [n1,n2,...]) отношения p как многомерный полином в переменных x1,x2,... и возвращает коэффициент термина x1^n1*x2^n2.... Переменная и списки экспонент должны иметь ту же длину.
Возвращенные коэффициенты являются любой элементами содействующего звонка p или полиномы типа DOM_POLY в “остающихся” переменных.
coeff(p, [n1,n2,...]) эквивалентно coeff(p, [x1,x2,...], [n1,n2,...]), где переменные x1,x2,... “основные переменные” p, т.е. ведущие элементы списка indeterminates op(p, 2).
coeff(p, All) возвращает последовательность коэффициентов p включая равных нулю. Функция возвращает результат в возрастающем лексикографическом порядке. Для одномерного полиномиального p, вызов coeff(p, All) эквивалентно coeff(p, i) $ i = 0 .. degree(p).
coeff возвращается 0 или нулевой полином, если полином не содержит термин, соответствующий заданным степеням. В частности, это происходит для одномерного полинома если n больше, чем степень полинома.
coeff возвращает FAIL если выражение не может рассматриваться как полином.
Результат coeff не полностью оценен. Оценка может быть осуществлена функциональным eval. Смотрите пример 5.
coeff(f) возвращает последовательность всех ненулевых коэффициентов:
f := 10*x^10 + 5*x^5 + 2*x^2: coeff(f)
![]()
coeff(f, i) возвращает один коэффициент:
coeff(f, i) $ i = 0..15
![]()
delete f:
Мы демонстрируем, как indeterminates влияют на результат:
f := 3*x^3 + x^2*y^2 + 17*x + 23*y + 2
![]()
coeff(f); coeff(f, [x, y]); coeff(f, [y, x])
![]()
![]()
![]()
delete f:
Коэффициенты f выбраны относительно основной переменной x который является первой записью списка indeterminates:
f := 3*x^3 + x^2*y^2 + 2: coeff(f, [x, y], i) $ i = 0..3
![]()
Коэффициенты f может быть выбран относительно другой основной переменной (в этом случае, y):
coeff(f, [y, x], i) $ i = 0..2
![]()
В качестве варианта:
coeff(f, y, i) $ i = 0..2
![]()
Коэффициенты f может также быть выбран относительно многомерного термина:
coeff(f, [x,y], [3,0]), coeff(f, [x,y], [2,2]), coeff(f, [x,y], [0,0])
![]()
delete f:
Таким же образом, coeff может быть применен к полиномам типа DOM_POLY:
p := poly(3*x^3 + x, [x], Dom::IntegerMod(7)): coeff(p)
![]()
coeff(p, i) $ i = 0..3
![]()
Для многомерных полиномов коэффициенты относительно неопределенного являются полиномами в другом indeterminates:
p := poly(3*x^3 + x^2*y^2 + 2, [x, y]):
coeff(p, y, 0), coeff(p, y, 1), coeff(p, y, 2);
![]()
coeff(p, x, 0), coeff(p, x, 1), coeff(p, x, 2)
![]()
Обратите внимание на то, что indeterminates передал coeff будет использоваться, даже если полином обеспечит различный indeterminates:
coeff(p, z, 0), coeff(p, z, 1), coeff(p, z, 2)
![]()
delete p:
Результат coeff не полностью оценен:
p := poly(27*x^2 + a*x, [x]): a := 5: coeff(p, x, 1), eval(coeff(p, x, 1))
![]()
delete p, a:
Чтобы возвратить все коэффициенты полинома, используйте All опция:
p := poly(a*x^3 + b*x^2 + c*x + d, [x, y]): coefficients := coeff(p, All)
![]()
Чтобы вернуться порядок получившейся последовательности, используйте revert функция. Эта функция не работает с последовательностями. Чтобы преобразовать последовательность в список, вызовите revert для этого списка, и преобразуют результат назад в последовательность:
op(revert([coefficients]))
![]()
All опция также работает на многочленные выражения:
p_expr := 2*x^5 + 5*x^2 + 10*x + 3: coeff(p_expr, All)
![]()
Можно использовать coeff функция с All опция, чтобы вычислить скалярные произведения полиномов. Например, следующая процедура вычисляет скалярное произведение двух полиномов в ортонормированном базисе. coeff функционируйте извлекает коэффициенты полиномов и возвращает два списка коэффициентов. zip функция умножает записи этих списков попарно и возвращает список. op функциональные доступы записи того списка. Наконец, _plus функция вычисляет сумму всех продуктов:
scalarProduct := proc(p, q) local lp, lq; begin lp := [coeff(p, All)]; lq := [coeff(conjugate(q), All)]; _plus(op(zip(lp, lq, _mult))); end_proc:
Следующие полиномы являются ортогональными:
scalarProduct(poly(x^2 + 2), poly(x^3 + 2*x^2 - 1))
![]()
coeff(p, All) также работает на многомерные полиномы и многочленные выражения:
p := poly(2*x^2*y + PI*x + y^2 - 2, [x, y]): coeff(p, All)
![]()
Для многомерного многочленного или многочленного выражения, порядка, в который coeff возвращается коэффициенты таково, что коэффициент вектора экспоненты [e 1, e 2, …] появляется в положении e 1 d1 + e 2 d2 + … + 1. Например, представляйте коэффициенты, возвращенные для двумерного полинома как матрица:
A := matrix(degree(p, x) + 1, degree(p, y) + 1, [coeff(p, All)])

| |
|
Неопределенное |
|
Степень: неотрицательное целое число |
| |
|
Список indeterminates полинома: обычно, идентификаторы или индексированные идентификаторы |
|
|
Один или несколько коэффициентов содействующего звонка полинома, или полинома или FAIL.
fP