Errore d'interpolazione con spline

di il
2 risposte

Errore d'interpolazione con spline

Ciao a tutti!
Sto cercando di fare questo esercizio:

Utilizzare la function spline soddisfacente le condizioni not-a-knot e interpolare la funzione f(x)=cos(x) in n=12 nodi equispaziati nell'intervallo [-1,1].
Il massimo errore assoluto d'interpolazione in 120 punti equispaziati d'interpolazione vale all'incirca:
a)9.6539e-10 b) 3.5633e-03 c)2.1220e-05 d)1.8923e-09

Quello che so fare è questo:


f=@(x) cos(x); %funzione
x=linspace(-1,1,12);  %ascisse dei nodi n=12
y=f(x);  %ordinate dei nodi n=12
n=linspace(-1,1,120);
s=spline(x,y,n);
...

Boh una volta calcolata la spline non ho idea di come si possa calcolare l'errore... so che dovrei trovarmi in una situazione tipo abs(x-x*)/abs(x) ma non so dove girarmi

Qualcuno sa aiutarmi dandomi un imbeccata su come possa impostare la soluzione?
Grazie mille in anticipo

2 Risposte

  • Re: Errore d'interpolazione con spline

    Potresti calcolare il massimo della differenza tra i 120 valori interpolati di "s" calcolati con la seconda chiamata alla funzione "spline" ed i 120 valori "esatti" ottenuti usando la funzione di input:
    
    
    f=@(x) cos(x); %funzione
    x=linspace(-1,1,12);  %ascisse dei nodi n=12
    y=f(x);  %ordinate dei nodi n=12
    n=linspace(-1,1,120);
    s=spline(x,y,n);
    
    d=max(abs(f(n)-s))
    
    
    I risultato è: 2.1220e-05
  • Re: Errore d'interpolazione con spline

    ask_raf ha scritto:


    Potresti calcolare il massimo della differenza tra i 120 valori interpolati di "s" calcolati con la seconda chiamata alla funzione "spline" ed i 120 valori "esatti" ottenuti usando la funzione di input:
    
    
    f=@(x) cos(x); %funzione
    x=linspace(-1,1,12);  %ascisse dei nodi n=12
    y=f(x);  %ordinate dei nodi n=12
    n=linspace(-1,1,120);
    s=spline(x,y,n);
    
    d=max(abs(f(n)-s))
    
    
    I risultato è: 2.1220e-05
    Hai ragione, non ci avevo proprio pensato. Grazie mille!
Devi accedere o registrarti per scrivere nel forum
2 risposte