Pagina 1 di 1
calcolo interpolazione

Inviato:
18 lug 2010, 19:19
da cdileo
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
Re: calcolo interpolazione

Inviato:
18 lug 2010, 21:00
da xyz
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:

Grafico:

- Grafico regressione
- Schermata-Finestra senza titolo.png (46.41 KiB) Osservato 2620 volte
Re: calcolo interpolazione

Inviato:
18 lug 2010, 21:46
da RenzoDF
Re: calcolo interpolazione

Inviato:
19 lug 2010, 0:11
da cdileo
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
Re: calcolo interpolazione

Inviato:
19 lug 2010, 0:18
da RenzoDF
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
Re: calcolo interpolazione

Inviato:
19 lug 2010, 8:33
da cdileo
questo e'quello che mi viene fuori:


e' giusto? ma la formula finisce con ....
Re: calcolo interpolazione

Inviato:
19 lug 2010, 9:21
da RenzoDF
cdileo ha scritto:e' giusto? ma la formula finisce con ....
giusto ! ... la formula finisce quando non hai più coefficienti da usare
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

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 (11.42 KiB) Osservato 2525 volte

- i.gif (15.22 KiB) Osservato 2524 volte