Page 45 - 363_
P. 45
46
>> P = [1, 8, 31, 80, 94, 20];
>> disp(roots(p))
-1.0000 + 3,0000i
-1.0000 - 3.0000i
-3.7321
-2.0000
-0.2679
Зворотна операція – побудова вектора p коефіцієнтів полінома за
заданим вектором його коренів здійснюється функцією роlу:
p =pofy(r).
Тут r - заданий вектор значень коренів, p - обчислений вектор полінома.
Наведемо приклад:
>> p = [1, 8, 31, 80, 94, 20]
p =
1 8 31 80 94 20
>> r = roots(p)
r =
-1.0000 + 3.0000i
-1.0000 - 3.0000i
-3.7321
-2.0000
-0.2679
>> p1 = poly(r)
p1 =
8.0000 31.0000 80.0000 94.0000 20.0000
Та ж функція у випадку, коли аргументом її є деяка квадратна матриця А
розміром (n*n), будує вектор характеристичного полінома цієї матриці.
Звернення:
p =poly(A)
формує вектор р коефіцієнтів полінома:
n
p(s) = det(s*E - A) = pi*s + ... + p n*s + p n+1,
де Е - позначення для одиничної матриці розміром (n*n).
Розглянемо приклад :
>> A = [1 2 3; 5 6 0; -1 2 3]
A =
1 2 3
5 6 0
-1 2 3
>> p = poly(A)
р =
1.0000 -10.0000 20.0000 -36.0000
Для обчислення значення полінома за заданим значенням його аргументу
у MatLAB передбачено функцію polyval. Звернення до неї відбувається за
схемою: