calcolo interpolazione

Analisi, geometria, algebra, topologia...

Moderatori: Foto UtentePietroBaima, Foto UtenteIanero

Avatar utente
Foto Utentecdileo
0 2
Messaggi: 19
Iscritto il: 29 dic 2009, 16:21
0
voti

[1] calcolo interpolazione

Messaggioda Foto Utentecdileo » 18 lug 2010, 19:19

Ciao a tutti, ho un datasheet di una centralina auto dove vengono mostrati i valori ti temperatura in base ad un byte, il mio problema e' che non so calcolare i valori intemedi per poterli applicare al mio software.
Vediamo se mi spiego meglio

byte °C

0 125,0
16 125,0
32 125,0
48 78,6
64 59,2
80 47,5
96 37,9
112 29,5
128 22,0
144 14,0
160 6,2
176 -1,8
192 -11,8
208 -28,7
224 -55
240 -55

Il byte e' quello a sx e il suo corrispondente in temperatura e' quello a dx, ora quello che mi servirebbe e' la formula per ricavare la temperatura in modo da poter calcolare i valori interpolati.
Mi potete aiutare e far capire?

Grazie Carmelo

Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
Messaggi: 1778
Iscritto il: 5 dic 2009, 17:37
Località: Italy Turin
0
voti

[2] Re: calcolo interpolazione

Messaggioda Foto Utentexyz » 18 lug 2010, 21:00

Con R:

Codice: Seleziona tutto

# dati
v=c(0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240)
T=c(125.0, 125.0, 125.0, 78.6, 59.2, 47.5, 37.9, 29.5, 22.0, 14.0, 6.2, -1.8, -11.8, -28.7, -55, -55)

# regressione lineare
reg <- lm(f = T ~ v)

# risultato
print(summary(reg))

# coefficienti
print(coefficients(reg))

# grafico punti iniziali
plot(T ~ v, xlab="byte", ylab="temp", type="p", col = "red")
grid()

# grafico retta regressione
abline(reg)


Elaborazione:

Codice: Seleziona tutto

Call:
lm(formula = T ~ v)

Residuals:
    Min      1Q  Median      3Q     Max
-15.649  -8.547   0.722   6.388  25.865

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 123.41985    5.67757   21.74 3.46e-12 ***
v            -0.75892    0.04031  -18.83 2.43e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 11.89 on 14 degrees of freedom
Multiple R-squared: 0.962,   Adjusted R-squared: 0.9593
F-statistic: 354.5 on 1 and 14 DF,  p-value: 2.434e-11

(Intercept)           v
123.4198529  -0.7589154


Formula finale:

Temp= 123.4198529 - 0.7589154 * byte

Grafico:
Schermata-Finestra senza titolo.png
Grafico regressione
Schermata-Finestra senza titolo.png (46.41 KiB) Visto 2633 volte

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[3] Re: calcolo interpolazione

Messaggioda Foto UtenteRenzoDF » 18 lug 2010, 21:46

Con Curvexpert
a.gif
a.gif (17.84 KiB) Visto 2619 volte

con una regressione lineare
b2.gif
b2.gif (11.31 KiB) Visto 2615 volte

c.gif
c.gif (7.92 KiB) Visto 2618 volte

d.gif
d.gif (8.77 KiB) Visto 2621 volte


... ma anche con una polinomiale
e.gif
e.gif (11.92 KiB) Visto 2617 volte

f.gif
f.gif (8.87 KiB) Visto 2615 volte

g.gif
g.gif (8.95 KiB) Visto 2614 volte
"Il circuito ha sempre ragione" (Luigi Malesani)

Avatar utente
Foto Utentecdileo
0 2
Messaggi: 19
Iscritto il: 29 dic 2009, 16:21
0
voti

[4] Re: calcolo interpolazione

Messaggioda Foto Utentecdileo » 19 lug 2010, 0:11

sto provando anch'io Curvexpert, e devo dire che non e' cosi' semplice...
ho provato a eliminare alcuni valori ripetuti agli estremi dell'elencoe la cosa sembra che si linearizzi meglio, ma quello che non trovo e' la formula.

32 125,0
48 78,6
64 59,2
80 47,5
96 37,9
112 29,5
128 22,0
144 14,0
160 6,2
176 -1,8
192 -11,8
208 -28,7
224 -55

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[5] Re: calcolo interpolazione

Messaggioda Foto UtenteRenzoDF » 19 lug 2010, 0:18

Il procedimento è il seguente

a) dopo aver inserito i dati sulle due colonne
b) premi l'icona con la lente di ingrandimento -> OK
c) clikkando sopra la riga dell'elenco delle curve di regressione ne scegli una ... e con un doppio click si apre la finestra grafica
d) da sopra la finestra un click-destro mouse apri un menu dove: per sistemare il grafico (scale ecc) sceglierai Graph Properties
e) per la funzione e relativi coefficienti sceglierai Information
"Il circuito ha sempre ragione" (Luigi Malesani)

Avatar utente
Foto Utentecdileo
0 2
Messaggi: 19
Iscritto il: 29 dic 2009, 16:21
0
voti

[6] Re: calcolo interpolazione

Messaggioda Foto Utentecdileo » 19 lug 2010, 8:33

questo e'quello che mi viene fuori:

Immagine

Immagine

e' giusto? ma la formula finisce con ....

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[7] Re: calcolo interpolazione

Messaggioda Foto UtenteRenzoDF » 19 lug 2010, 9:21

cdileo ha scritto:e' giusto? ma la formula finisce con ....


giusto ! ... la formula finisce quando non hai più coefficienti da usare :mrgreen:

Da quanto vedo ... hai scelto una regressione polinomiale di terzo grado, e i coefficienti calcolati saranno quindi quattro; la funzione che approssima i tuoi dati sarà quindi

y(x)=-6,23\cdot 10^{-5}x^{3}+2,52\cdot 10^{-2}x^{2}-3,71\,x+214

Per verificare potresti anche far uso di un altro "nostro" FreeTool, SpeQ, usando il quale, una volta inserita la relazione y(x) potrai poi plottarla o calcolarne dei particolari valori

h.gif
h.gif (11.42 KiB) Visto 2538 volte

i.gif
i.gif (15.22 KiB) Visto 2537 volte
"Il circuito ha sempre ragione" (Luigi Malesani)


Torna a “Matematica generale”