Документация Engee

coeffs

Коэффициенты многочлена.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • C, T = coeffs(p) — возвращает коэффициенты и соответствующие члены многочлена p относительно всех переменных.

  • C, T = coeffs(p, var) — возвращает коэффициенты и соответствующие члены многочлена p относительно всех переменных var.

  • C, T = coeffs(p, vars) — возвращает коэффициенты и соответствующие члены p относительно всех переменных vars.

  • C, T = coeffs(___, "All") — возвращают все коэффициенты, включая коэффициенты, которые равны 0. Например, coeffs(2*x^2, "All") возвращает [ 2, 0, 0], а не 2.

Аргументы

Входные аргументы

# p — многочлен
символьное выражение | символьная функция

Details

Многочлен, заданный как символьное выражение или функция.

# var — переменная многочлена
символьная переменная

Details

Переменная многочлена, заданная как символьная переменная.

# vars — вектор переменных многочлена
вектор символьных переменных

Details

Переменные многочлена, заданные как вектор символьных переменных.

Выходные аргументы

# C — коэффициенты многочлена
символьное число | символьная переменная | символьное выражение | символьный вектор | символьная матрица | символьный N-мерный массив

Details

Коэффициенты многочлена, возвращаемые в виде символьного числа, переменной, выражения, вектора, матрицы или N-мерного массива. Если имеется только один коэффициент и один соответствующий ему член, то C возвращается в виде скаляра.

# T — члены многочлена
символьное число | символьная переменная | символьное выражение | символьный вектор | символьная матрица | символьный N-мерный массив

Details

Члены многочлена, возвращаемые в виде символьного числа, переменной, выражения, вектора, матрицы или N-мерного массива. Если имеется только один коэффициент и один соответствующий член, то T возвращается как скаляр.

Примеры

Коэффициенты одномерного многочлена

Details

Найдем коэффициенты одномерного многочлена. Коэффициенты упорядочены от наименьшей степени к наибольшей.

import EngeeDSP.Functions: coeffs
using DynamicPolynomials
@polyvar x
out = coeffs(16*x^2 + 19*x + 11)[1]
3-element Vector{Int64}:
 11
 19
 16

Коэффициенты многомерного полинома по конкретной переменной

Details

Найдем коэффициенты многочлена по переменной x:

import EngeeDSP.Functions: coeffs
using DynamicPolynomials
@polyvar x y
out1 = coeffs(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, x)[1]
4-element Vector{Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}}:
 1
 2y
 3y²
 4y³

и по переменной y:

out2 = coeffs(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, y)[1]
4-element Vector{Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}}:
 4
 3x
 2x²
 x³

Коэффициенты многомерного многочлена по двум переменным

Details

Найдем коэффициенты многочлена относительно обеих переменных x и y.

import EngeeDSP.Functions: coeffs
using DynamicPolynomials
@polyvar x y
out = coeffs(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [x, y])[1]
4-element Vector{Int64}:
 1
 2
 3
 4

Коэффициенты и соответствующие члены одномерного многочлена

Details

Найдем коэффициенты и соответствующие члены одномерного многочлена. При наличии двух выходных данных коэффициенты упорядочиваются от наибольшей степени к наименьшей.

import EngeeDSP.Functions: coeffs
using DynamicPolynomials
@polyvar x y

out1,out2 = coeffs(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, x)
println(out1)
println(out2)
out1,out2 = coeffs(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, y)
println(out1)
println(out2)
Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}[1, 2y, 3y², 4y³]
Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}[x³, x², x, 1]
Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}[4, 3x, 2x², x³]
Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}[y³, y², y, 1]

Все коэффициенты многочлена

Details

Найдем все коэффициенты многочлена, включая коэффициенты, равные 0, указав опцию "All". Возвращаемые коэффициенты упорядочены от наибольшей степени к наименьшей.

Найдем все коэффициенты .

import EngeeDSP.Functions: coeffs
using DynamicPolynomials
@polyvar x
out = coeffs(3*x^2, "All")[1]
3-element Vector{Int64}:
 3
 0
 0