Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
poly
Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
Синтаксис
p = poly(vec, vname) p = poly(vec, vname, "roots"|"coeff") Pc = poly(matNN, vname)
Аргументы
- vname
строка: имя символьной переменной полинома. Разрешённые символы те же самые, что и для имён переменных (правила наименования).
- vec
скаляр, вектор или неквадратная матрица вещественных или комплексных чисел.
- флаг "roots" (по умолчанию) | "coeff" (либо "r" | "c")
Указывает какие числа представлены в
vec
."roots"
является значением по умолчанию.Могут быть использованы сокращения:
"r"
для"roots"
, и"c"
для"coeff"
.- p
Полином с указанными корнями или коэффициентами и имя символьной переменной.
- matNN
Квадратная матрица вещественных или комплексных чисел.
- Pc
Характеристический полином указанной квадратной матрицы =
det(x*eye() - matNN)
с символьной переменнойx = poly(0,vname)
.
Описание
- Когда указан вектор или неквадратная матрица
vec
p = poly(vec, "x", "roots")
илиp = poly(vec, "x")
является полиномом, чьи корни являются компонентамиvec
, а"x"
- это имя его переменной.degree(p)==length(vec)
poly()
иroots()
являются обратными функциями друг другу.- Бесконечные корни дают нулевые коэффициенты наивысшей степени.
В этом случае фактическая степень
p
меньше, чемlength(vec)
. Например,poly([-%inf -1 2 %inf ], "x")
даёт(x-2)(x+1)
, чья степень 2.
Простое выражение
x=poly(0,"x")
определяет элементарное выражениеp(x)=x
, которое может быть использовано с обычными операторами +, -, *, / и простые функции типаsum()
.Scilab предоставляет 3 предопределённых элементарных полинома%s
,%z
и$
. Последний полином главным образом используется в качестве символьного значения последнего индекса (в интервале).poly(vec, "x", "coeff")
формирует полином с символом"x"
, чьи коэффициенты в порядке увеличения степени являются компонентамиvec
(vec(1)
- это постоянный член полинома). Нулевые коэффициенты высокого порядка (добавленные к концуvec
) игнорируются.В свою очередь,coeff(p)
возвращает коэффициенты указанного полинома.
- Когда указана квадратная матрица
matNN
poly(matNN, vname)
возвращает её характеристический полином символьной переменнойvname
, т.е.p
установлен вdet(x*eye() - matNN)
сx = poly(0,vname)
.
Примеры
Формирование полинома указанных коэффициентов:
// Прямое формирование: x = poly(0,"x"); p = 1 - x + 2*x^3 // С poly(): p2 = poly([1 -1 0 2], "x", "coeff") // С нулевыми коэффициентами высокого порядка p3 = poly([2 0 -3 zeros(1,8)], "y", "coeff")
--> p = 1 - x + 2*x^3 p = 3 1 -x +2x --> p2 = poly([1 -1 0 2], "x", "coeff") p2 = 3 1 -x +2x --> p3 = poly([2 0 -3 zeros(1,8)], "y", "coeff") p3 = 2 2 -3y
Формирование полинома указанных корней:
// Прямое формирование: x = poly(0,"x"); p = (1-x)^2 * (2+x) // С poly(): p2 = poly([1 1 -2], "x") // С бесконечными корнями p3 = poly([%inf -1 2 %inf -%inf], "x")
--> p = (1-x)^2 * (2+x) p = 3 2 -3x +x --> p2 = poly([1 1 -2], "x") p2 = 3 2 -3x +x --> p3 = poly([%inf -1 2 %inf -%inf], "x") p3 = 2 -2 -x +x
Характеристический полином квадратной матрицы:
A = [1 2 ; 3 -4] poly(A, "x")
--> A = [1 2 ; 3 -4] A = 1. 2. 3. -4. --> poly(A, "x") ans = 2 -10 +3x +x
Смотрите также
- inv_coeff — построение матрицы полиномов по их коэффициентам
- coeff — polynomial coefficients
- roots — roots of a polynomial
- varn — Символические переменных полиномами или рациональные дроби
- horner — evaluates some polynomials or rationals for given values
- %s — A variable used to define polynomials.
- %z — A variable used to define polynomials.
- rational — объекты Scilab, рациональное число в Scilab
- rlist — определение функции рационального деления Scilab
История
Версия | Описание |
5.5.0 | Для третьего аргумента разрешены только значения "roots", "coeff", "c" и "r". |
6.0.0 | Имя символьной переменной больше не ограничено четырьмя символами. Оно может включать в себя некоторые расширенные символы UTF-8. |
6.0.2 | С методом "coeff", нулевые коэффициенты высокого порядка теперь игнорируются. |
Report an issue | ||
<< polfact | Polynomials | polyint >> |