Erf(z) e interpolazione lineare?
Salve a tutti, sto facendo degli esercizi sulla diffusione allo stato solido e a un certo punto si deve sfruttare la seconda legge di Fick, dove presenta erf(z) ed in particolare si deve ricavare "z" tramite interpolazione e spulciando in giro mi pare di aver capito si tratti di interpolazione lineare, ma non riesco a venirne fuori.
Come si applica sfruttando i dati di z ed erf(z)?
Apparentemente il cacolo è semplice dato che si presenta come un'uguaglianza tra due frazioni le quali hanno, entrambe, sia a numeratore che a denominatore una sottrazione e l'incognita è solamente "z".
Grazie
P.S.: spero di essere nella sezione giusta.
Come si applica sfruttando i dati di z ed erf(z)?
Apparentemente il cacolo è semplice dato che si presenta come un'uguaglianza tra due frazioni le quali hanno, entrambe, sia a numeratore che a denominatore una sottrazione e l'incognita è solamente "z".
Grazie
P.S.: spero di essere nella sezione giusta.
Risposte
Dunque innanzi tutto devi avere l'intervallo in cui vuoi effettuare l'interpolazione, poi fornisci l'equazione f(x) = ...

"claudiocarcaci":
Dunque innanzi tutto devi avere l'intervallo in cui vuoi effettuare l'interpolazione, poi fornisci l'equazione f(x) = ...
Quale sarebbe questa equazione? Riusciresti a farmi un esempio pratico ad esempio con z=0,5?
No, l'equazione devi fornirmela te, quella di errf(z) da interpolare.
In sostanza l'interpolazione polinomiale funziona così:
dati un elenco di punti in un intervallo [a,b]
(x0, y0) (x1,y1) ... (xn,yn)
viene costruito un polinomio di grado n che interpola tali punti.
Quindi o mi dai un elenco di punti noti per quanto riguarda errf(z) oppure conoscendo l'espressione di errf(z) sostituendo un elenco di ordinate z0, z1... zn ci si ricava i relativi y0, y1, ... yn
In sostanza l'interpolazione polinomiale funziona così:
dati un elenco di punti in un intervallo [a,b]
(x0, y0) (x1,y1) ... (xn,yn)
viene costruito un polinomio di grado n che interpola tali punti.
Quindi o mi dai un elenco di punti noti per quanto riguarda errf(z) oppure conoscendo l'espressione di errf(z) sostituendo un elenco di ordinate z0, z1... zn ci si ricava i relativi y0, y1, ... yn

Questa è la tabella tipica a cui devo fare riferimento è alla fine di questa pagina: http://en.wikipedia.org/wiki/Error_function
Praticamente di solito ho un calcolo di questo tipo: $(Cx-Co)/(Cs-Co)=1-erf(z)$ e con un paio di calcoli trovo un valore per erf(z) e da quello devo interpolare.
Caso tipo: trovo $erf(z)=0,5$ e poi l'operazione diventa: $((0,5-0,4755)/(0,5205-0,4755))=((z-0,45)/(0,5-0,45))$
Ecco quest'ultima come la ricavo? E se dovessi ricavare erf(z) da z come dovrei fare?
P.S.: l'operazione è ricavata dalla seconda legge di Fick.
Praticamente di solito ho un calcolo di questo tipo: $(Cx-Co)/(Cs-Co)=1-erf(z)$ e con un paio di calcoli trovo un valore per erf(z) e da quello devo interpolare.
Caso tipo: trovo $erf(z)=0,5$ e poi l'operazione diventa: $((0,5-0,4755)/(0,5205-0,4755))=((z-0,45)/(0,5-0,45))$
Ecco quest'ultima come la ricavo? E se dovessi ricavare erf(z) da z come dovrei fare?
P.S.: l'operazione è ricavata dalla seconda legge di Fick.
Quella di cui parli è una semplice interpolazione con spline lineari.
Volevo fornirti un polinomio interpolante ma essendo numerosi i dati viene fuori un polinomio di grado elevato.
Si possono usare in alternativa spline cubiche o minimi quadrati, ma comunque dietro c'è un calcolo complesso che non ne vale la candela.
Comunque, in pratica una volta trovata erf(z) fai:
indicato con e1=errf(z1) l'estremo inferiore tabellato e con e2=errf(z2) l'estremo superiore tabellato t.c. $ e1 \leqslant erf(z) \leqslant e2 $
e z1, z2 i corrispondenti estremi dell'intervallo dove c'è z incognito la formula generale è data dalla geometria che consiste nel trovare il relativo punto in una retta che collega due punti, ossia:
$ (erf(z)-e1)/(e2-e1)=(z-z1)/(z2-z1) $
E questo è ovvio, geometricamente se prendi due punti (x1, y1) e (x2, y2) e consideri la retta che li congiunge hai che il coefficiente angolare è: $ m = (y2-y1)/(x2-x1) $
mentre l'intersezione con l'asse y è: $ q = m*x1-y1 $
Scritta quindi l'equazione della retta: $ y = m*x+q $
E considerato che y coincide con erf(z) mentre x con z, y2=e2, y1 = e1, x1=z1, x2=z2, sostituendo ti ritrovi la formula originaria
Ti raccomando vivamente di disegnare su un foglio i punti e renderti conto di coefficienti angolare ecc...
L'operazione inversa invece la ottieni con:
$ erf(z)=m*z+q $
Con $ m = (e2-e1)/(z1-z2) $ e $ q = m*z1-e1 $
Volevo fornirti un polinomio interpolante ma essendo numerosi i dati viene fuori un polinomio di grado elevato.
Si possono usare in alternativa spline cubiche o minimi quadrati, ma comunque dietro c'è un calcolo complesso che non ne vale la candela.
Comunque, in pratica una volta trovata erf(z) fai:
indicato con e1=errf(z1) l'estremo inferiore tabellato e con e2=errf(z2) l'estremo superiore tabellato t.c. $ e1 \leqslant erf(z) \leqslant e2 $
e z1, z2 i corrispondenti estremi dell'intervallo dove c'è z incognito la formula generale è data dalla geometria che consiste nel trovare il relativo punto in una retta che collega due punti, ossia:
$ (erf(z)-e1)/(e2-e1)=(z-z1)/(z2-z1) $
E questo è ovvio, geometricamente se prendi due punti (x1, y1) e (x2, y2) e consideri la retta che li congiunge hai che il coefficiente angolare è: $ m = (y2-y1)/(x2-x1) $
mentre l'intersezione con l'asse y è: $ q = m*x1-y1 $
Scritta quindi l'equazione della retta: $ y = m*x+q $
E considerato che y coincide con erf(z) mentre x con z, y2=e2, y1 = e1, x1=z1, x2=z2, sostituendo ti ritrovi la formula originaria

Ti raccomando vivamente di disegnare su un foglio i punti e renderti conto di coefficienti angolare ecc...
L'operazione inversa invece la ottieni con:
$ erf(z)=m*z+q $
Con $ m = (e2-e1)/(z1-z2) $ e $ q = m*z1-e1 $