Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
p = poly(vec, vname) p = poly(vec, vname, "roots"|"coeff") Pc = poly(matNN, vname)
строка: имя символьной переменной полинома. Разрешённые символы те же самые, что и для имён переменных (правила наименования).
скаляр, вектор или неквадратная матрица вещественных или комплексных чисел.
Указывает какие числа представлены в vec
.
"roots"
является значением по умолчанию.
Могут быть использованы сокращения: "r"
для "roots"
,
и "c"
для "coeff"
.
Полином с указанными корнями или коэффициентами и имя символьной переменной.
Квадратная матрица вещественных или комплексных чисел.
Характеристический полином указанной квадратной матрицы
= det(x*eye() - matNN)
с символьной переменной
x = poly(0,vname)
.
vec
p = poly(vec, "x", "roots")
или
p = poly(vec, "x")
является полиномом,
чьи корни являются компонентами vec
, а
"x"
- это имя его переменной.
![]() |
|
Простое выражение 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] A = 1. 2. 3. -4. --> poly(A, "x") ans = 2 -10 +3x +x
Version | Description |
5.5.0 | Для третьего аргумента разрешены только значения "roots", "coeff", "c" и "r". |
6.0.0 | Имя символьной переменной больше не ограничено четырьмя символами. Оно может включать в себя некоторые расширенные символы UTF-8. |
6.0.2 | С методом "coeff", нулевые коэффициенты высокого порядка теперь игнорируются. |