Discussioni su Analisi Numerica e Ricerca Operativa

Regole del forum

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

Plot matlab

25/09/2021, 18:04

Salve, io avrei un esercizio che mi chiede di calcolare l'errore di approssimazione della funzione runge calcolando il massimo tra |f(x)-q(x)| in 10001 punti equidistanti, dove f è la funzione di runge e q un polinomio interpolante su 31 ascisse equidistanti.

Beh, l'avrei svolto così(con una funzione che mi implementa il polinomio interpolante di Lagrange)

Codice:
>> x=linspace(-5,5,31)
>> y=1.^(1+x.^2)
>> xx=linspace(-5,5,10001)
>> yy=1.^(1+xx.^2)
>> p=interp_lagrange(x,y,xx)
>> max(abs(p-yy))


Bene, una volta trovata l'approssimazione dell'errore dovrei graficare il risultato.

Io al massimo so graficare il polinomio interpolante in questo modo:

Codice:
>>plot(xx,yy,xx,p,x,y,'o')


Ma per graficare l'errore calcolato?

Grazie dell'eventuali risposte

Re: Plot matlab

30/09/2021, 08:17

Fai un plot del modulo di $f(x)-q(x)$, che è un vettore, non del suo massimo.

Re: Plot matlab

30/09/2021, 09:17

feddy ha scritto:Fai un plot del modulo di $f(x)-q(x)$, che è un vettore, non del suo massimo.


Ma in questo caso che argomenti deve prendere la funzione plot? Come ho scritto nel mio post, solo che al posto di p (polinomio interpolante) ci metto abs(p-xx)?

Re: Plot matlab

30/09/2021, 11:13

direi abs(p-yy), piuttosto che abs(p-xx). Tu vuoi vettore che ha puntualmente il valore assoluto della distanza tra l'interpolante e la funzione esatta da interpolare.

Re: Plot matlab

30/09/2021, 11:48

feddy ha scritto:direi abs(p-yy), piuttosto che abs(p-xx). Tu vuoi vettore che ha puntualmente il valore assoluto della distanza tra l'interpolante e la funzione esatta da interpolare.


Sisi, certo volevo dire yy. Però so che la funzione plot ha bisogno di coppie di vettori per graficare sul piano xy. Quindi devo plottare abs(p-yy) con xx? Quindi volendo basterebbe fare così?

Codice:
plot(abs(p-yy),xx,'o')

Re: Plot matlab

30/09/2021, 11:49

Hai scambiato ascisse con ordinate. Vuoi l'errore in funzione dei punti

Re: Plot matlab

30/09/2021, 23:20

feddy ha scritto:Hai scambiato ascisse con ordinate. Vuoi l'errore in funzione dei punti


Cioè devo fare plot(xx, abs(p-yy))? Non capisco i punti dati da abs(p-yy) che tipo di punti siano.

Re: Plot matlab

01/10/2021, 10:12

Una componente qualsiasi del vettore abs(p-yy) ha il valore assoluto dell'errore (assoluto) tra l'interpolatore da te costruito e la funzione esatta. Quello che stai plottando è una funzione (discreta) che associa ad ogni elemento (un punto) del vettore xx, l'errore in quel preciso punto. Se non ti è chiaro, prova plottare quanto scritto per rendertene conto
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.