Quiz su interpolazione in Matlab
Ciao a tutti, sto preparando un esame su matlab e non riesco a risolvere alcuni esercizi.
Mi date una mano a capire dove sbaglio?

Il codice che ho scritto è:
fin qui funziona tutto ma non riesco a capire come calcolare il valore di p $ ( (pi)/(2) ) $
Ogni suggerimento è ben accetto! Grazie!
Mi date una mano a capire dove sbaglio?

Il codice che ho scritto è:
a=0; b=2*pi; g=7; n=g+1; f=@(x) 3.*x.*cos(x).*sin(x); %definisco f(x) x=linspace(a,b,n); y=f(x); c=polyfit(x,y,n); %creo il polinomio f1=f(pi/2) %valore di f1
fin qui funziona tutto ma non riesco a capire come calcolare il valore di p $ ( (pi)/(2) ) $
Ogni suggerimento è ben accetto! Grazie!

Risposte
Big hint:
polyval

In particolare, la documentazione ti spiega anche come funziona: https://it.mathworks.com/help/matlab/ref/polyval.html
Un paio di cose importanti per quando posti 
1) Non postare l'immagine del testo del problema. Questi link una volta rotti rendono il post incomprensibile.
2) Scrivi un titolo sensato. "Esercizi matlab che mi fanno impazzire" non permette agli utenti futuri di capire quale sia il contenuto del messaggio.
3) Posta il codice tra gli appositi tag.

1) Non postare l'immagine del testo del problema. Questi link una volta rotti rendono il post incomprensibile.
2) Scrivi un titolo sensato. "Esercizi matlab che mi fanno impazzire" non permette agli utenti futuri di capire quale sia il contenuto del messaggio.
3) Posta il codice tra gli appositi tag.
Ho provato ad inserire "polyval" nel codice, ma non mi tornano i risultati.
Se non ho capito male dovrei andare a valutare il mio valore sul polinomio c creato con polyfit; la sintassi giusta è quindi polyval(c,pi/2) ?
Se non ho capito male dovrei andare a valutare il mio valore sul polinomio c creato con polyfit; la sintassi giusta è quindi polyval(c,pi/2) ?
Sì, corretto. Cosa non ti torna?
Ah, ho visto il codice ora. Il tuo errore è in polyfit: l'ultimo argomento deve essere il grado, cioè
gche è $7$, non il numero di punti di interpolazione, che è $8$ (vedi la documenzione: https://it.mathworks.com/help/matlab/re ... escription). Infatti, ti sarà sicuramente comparsa una warning dicendoti che il grado è maggiore o uguale del numero di punti iniziali. Quindi l'esercizio diventa:
a=0; b=2*pi; g=7; f=@(x) 3.*x.*cos(x).*sin(x); %definisco f(x) x=linspace(a,b,g+1); y=f(x); c=polyfit(x,y,7); %creo il polinomio abs(f(pi/2) - polyval(c,pi/2))
Perfetto, ora funziona! Grazie mille
Prego!