Работа с полиномами. Умножение и деление полиномов.
Полиномы (у нас их принято называть также степенными многочленами) – широко известный объект математических вычислений и обработки данных. Обычно полином записывается в виде:
р(х) = а n х^n + x n-1 x^n – 1+… + а 2 x^2 + а 1 ^х + а 0 ,
И так обычно принято в MATLAB для п, отрицательных по умолчанию, хотя и возможны иные формы записи, например:
р(х) = a 1 x^n + а 2 x^n-1 +… + а n х + а n+1.
Последняя запись обычно принята в MATLAB для n, по умолчанию положительных.
Широкое применение полиномов отчасти обусловлено большими возможностями полиномов в представлении данных, а также их простотой и единообразием вычислений. В этом разделе описаны основные функции для работы с полиномами. При этом полиномы обычно задаются векторами их коэффициентов.
Умножение и деление полиномов
Ниже приведены функции, осуществляющие умножение и деление полиномов, или, что то же самое, свертку двух входных векторов, в которых находятся коэффициенты полиномов, и операцию, обратную свертке.
- w = conv(u.v) – возвращает свертку векторов u и v. Алгебраически свертка – то же самое, что и произведение полиномов, чьи коэффициенты – элементы векторов и и v. Если длина вектора и равна т, а длина вектора v – n, то вектор w имеет длину т+n-1, а его k-й элемент вычисляется по следующей формуле

Пример:
>> f=[2.3.5.6];d=[7.8.3]:r=conv(f,d) r =14 37 65 91 63 18- [q,r] = deconv(v.u) – возвращает результат деления полинома v на полином и. Вектор q представляет собой частное от деления, а г – остаток от деления, так что выполняется соотношение v=conv(u,q)+r.
Пример:
>> t=[14.37.65.91.63.18]:r=[7.8.3];[w.e]=deconv(t.r) w =2.0000 3.0000 5.0000 6.0000e =1.0e-0130 0 0.1421-0.1421-0.2132-0.1066