\( \displaystyle {p}{\left({x}\right)}={\sum_{{{i}={0}}}^{{m}}}{p}_{{i}}{{x}}^{{i}},{q}{\left({x}\right)}={\sum_{{{i}={0}}}^{{n}}}{q}_{{i}}{{x}}^{{i}} \),
di gradi m ed n rispettivamente. Il polinomio prodotto r(x) = p(x)q(x), ha grado m + n
e denotandolo con \( \displaystyle {r}{\left({x}\right)}={\sum_{{{i}={0}}}^{{{m}+{n}}}}{r}_{{i}}{{x}}^{{i}} \), i suoi coefficienti ri, i = 0, . . . ,m + n sono definiti come segue:
\( \displaystyle {r}{\left({i}\right)}={\sum_{{{k}={0}}}^{{i}}}{g}_{{k}} \)
\( \displaystyle {g}_{{k}}={\left\lbrace\matrix{{0}&{s}{e}{k}\gt{m}{o}{p}{p}{u}{r}{e}{i}-{k}\gt{n}\\{p}_{{k}}{q}_{{{i}-{k}}}&\text{altrimenti}}\right.} \).
Scrivere una function Matlab che, ricevuti in input due vettori p e q contenenti i coefficienti
\( \displaystyle {p}_{{i}} \) e \( \displaystyle {q}_{{i}} \) dei polinomi p(x) e q(x), rispettivamente, fornisca in output il vettore r contenente
i coefficienti \( \displaystyle {r}_{{i}} \) del polinomio prodotto r(x) .
La function deve effettuare le seguenti operazioni:
• determinare le dimensioni m ed n dei vettori p e q;
• effettuare un ciclo per calcolare le componenti \( \displaystyle {r}_{{i}} \) del vettore r.
L'esercizio l'ho svolto nel seguente modo, ma credo che ci sia qualche errore, mi potreste aiutare? grazie
function r=polinomio(p,q)
m=length(p);
n=length(q);
for i=0:m+n
for k=0:i
if k>m | i-k>n
g(k)=0;
else
g(k)=p(k)*q(i-k);
end
end
end



