Passa al tema normale
Discussioni su Analisi Numerica e Ricerca Operativa

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Quiz su interpolazione in Matlab

08/07/2022, 09:12

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



Immagine

Il codice che ho scritto è:

Codice:
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! :smt023
Ultima modifica di feddy il 08/07/2022, 22:42, modificato 1 volta in totale.
Motivazione: Sistemato titolo

Re: Quiz su interpolazione in Matlab

08/07/2022, 21:46

Big hint:
Codice:
polyval
:D

Re: Quiz su interpolazione in Matlab

08/07/2022, 21:52

In particolare, la documentazione ti spiega anche come funziona: https://it.mathworks.com/help/matlab/ref/polyval.html

Re: Quiz su interpolazione in Matlab

08/07/2022, 22:45

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.

Re: Quiz su interpolazione in Matlab

09/07/2022, 09:32

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) ?

Re: Quiz su interpolazione in Matlab

09/07/2022, 09:52

Sì, corretto. Cosa non ti torna?

Re: Quiz su interpolazione in Matlab

09/07/2022, 10:00

Ah, ho visto il codice ora. Il tuo errore è in polyfit: l'ultimo argomento deve essere il grado, cioè
Codice:
g
che è $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:

Codice:
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))

Re: Quiz su interpolazione in Matlab

09/07/2022, 11:02

Perfetto, ora funziona! Grazie mille

Re: Quiz su interpolazione in Matlab

09/07/2022, 11:04

Prego!
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.