function r = plus(p, q)
% POLYNOM/PLUS Wykonuje operację p + q dla wielomianów, p = polynom(p); q = polynom(q);
k = lenght(q.c) - lenght(p.c);
r - polynom([zeros(1, k) p.c] + [zeros(l, -k) q.c]); Funkcja najpierw upewnia się, że oba argumenty wejściowe są wielomianami. To gwarantuje, żc wyrażenia takie jak P + 1
zawierające zarówno klasę polynom i double, działają prawidłowo. Następnie funkcja uzyskuje dostęp do dwóch wektorów współczynników oraz, jeśli to konieczne, dopełnia jeden z nich zerami, aby miały taką samą długość. W rzeczywistości ten dodatek to po prostu suma wektorowa dwóch wektorów współczynników. Na końcu, funkcja wywołuje konstruktor polynom po raz trzeci, aby utworzyć właściwie napisany wynik.
Innym przykładem jest @polynom/mtimes .m, która wywoływana jest w celu obliczenia wyrażenia p*q. Litera m na początku nazwy funkcji wzięła się stąd, że mamy do czynienia z przeciążaniem mnożenia macierzy MATLAB-a. Mnożenie dwóch wielomianów jest splotem wektorów ich współczynników, function r = mtimesfp, q)
% POLYNOM/MTIMES Wykonuje p*q dla wielomianów, p = polynom(p); q = polynom(q); r = polynom(conv(p.c, q.c));
Z tych dwóch funkcji korzystają wyrażenia: q = P + 1 r = p*q aby dać wynik q =
xA3 - 2*x - 4
r =
x~6 - 4 *x/'4 - 9*x^3 + 4*x~2 + 18*x + 20
112