[MatLab] Funzione Spline
Salve a tutti,
circa questo esercizio

ho provato a fare una cosa del genere
ma non credo sia corretto e infatti non saprei proprio cos'altro fare..
Qualche suggerimento?
Grazie!
circa questo esercizio

Click sull'immagine per visualizzare l'originale
ho provato a fare una cosa del genere
a = 2; for x=linspace(-1,0) f1 = x.^2 + 1; for x=linspace(0.1,1) f2 = -x.^3 + a.*x.^2 + 1; end end
ma non credo sia corretto e infatti non saprei proprio cos'altro fare..
Qualche suggerimento?
Grazie!
Risposte
L'esercizio non sembra richiedere la scrittura di alcun codice. Che cosa rappresenta quel codice?
Volevo provare ad interpolare la funzione nei nodi $x$ e $y$ che vengono forniti inserendo i rispettivi valori della $a$ per provare. Allora come si risolve?
hai gia una spline interpolante i dati assegnati dal problema, per ogni a.
Per verificarlo sostituisci nella prima equazione la coordinata x del punto, ovvero -1 e 0 e troverai i punti y=f(x) assegnati, idem per la seconda equazione, vedi che per x=0 ottieni 1 e per x=1 ottieni $y=f(x)=-(1)^3+a*1+1=-1+1+a=a$
Per verificarlo sostituisci nella prima equazione la coordinata x del punto, ovvero -1 e 0 e troverai i punti y=f(x) assegnati, idem per la seconda equazione, vedi che per x=0 ottieni 1 e per x=1 ottieni $y=f(x)=-(1)^3+a*1+1=-1+1+a=a$
Non ho capito.
Quando sostituisco $x=1$ nel secondo ramo ottengo solo $a$ ma come faccio a capire che valore deve assumere la costante?
Si tenga presente che la soluzione proposta è "per $a=1$"..
Quando sostituisco $x=1$ nel secondo ramo ottengo solo $a$ ma come faccio a capire che valore deve assumere la costante?
Si tenga presente che la soluzione proposta è "per $a=1$"..
Che definizione ti è stata data per "spline cubica interpolante"? La funzione passa correttamente attraverso quei punti ed è certamente di grado <=3. Sarebbe utile capire quali altre condizioni sono richieste.
Vediamo se ho capito..
La definizione vuole che:
1) è un polinomio di grado al più $d$ (in questo caso tre) per un certo intervallo;
2) la derivata ennesima fino a $d-1$ è continua nell'intervallo;
3) $S(x_i) = y_i $ per $i = 1, .. , n+1$; ( $S$ sta per spline)
Lasciando perdere tecnicismi per scrivere le cose più importanti..
1) è verificata, la 3) è conseguenza della 2) (quindi non si può verificare senza aver verificato la 2) ). Pertanto l'ho verificata:
2)
$ f^{\prime} = { ( 2x ),( -3x^2+2ax ):} $ e la calcolo per $x=0$ (punto critico, di "saldatura") ma per adesso per qualsiasi $a$ non ci sono problemi, è comunque zero. Continuo..
$ f^('') = { ( 2 ),( -6x+2a ):} $ e per $x=0$ occorre che $a$ valga $1$..
Corretto??
La definizione vuole che:
1) è un polinomio di grado al più $d$ (in questo caso tre) per un certo intervallo;
2) la derivata ennesima fino a $d-1$ è continua nell'intervallo;
3) $S(x_i) = y_i $ per $i = 1, .. , n+1$; ( $S$ sta per spline)
Lasciando perdere tecnicismi per scrivere le cose più importanti..
1) è verificata, la 3) è conseguenza della 2) (quindi non si può verificare senza aver verificato la 2) ). Pertanto l'ho verificata:
2)
$ f^{\prime} = { ( 2x ),( -3x^2+2ax ):} $ e la calcolo per $x=0$ (punto critico, di "saldatura") ma per adesso per qualsiasi $a$ non ci sono problemi, è comunque zero. Continuo..
$ f^('') = { ( 2 ),( -6x+2a ):} $ e per $x=0$ occorre che $a$ valga $1$..
Corretto??
Sì, corretto. Il terzo punto non dipende dal due, bastava verificare che la funzione passasse per quei punti (condizione verificata per ogni valore di a).
Ah ok. Bene grazie!