Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
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", нулевые коэффициенты высокого порядка теперь игнорируются. |