Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

calcolo interpolazione

Analisi, geometria, algebra, topologia...

Moderatori: Foto UtentePietroBaima, Foto UtenteIanero

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 Utentecdileo
0 2
 
Messaggi: 19
Iscritto il: 29 dic 2009, 17:21

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) Osservato 2618 volte
Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1778
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[3] Re: calcolo interpolazione

Messaggioda Foto UtenteRenzoDF » 18 lug 2010, 21:46

Con Curvexpert
a.gif
a.gif (17.84 KiB) Osservato 2604 volte

con una regressione lineare
b2.gif
b2.gif (11.31 KiB) Osservato 2600 volte

c.gif
c.gif (7.92 KiB) Osservato 2603 volte

d.gif
d.gif (8.77 KiB) Osservato 2606 volte


... ma anche con una polinomiale
e.gif
e.gif (11.92 KiB) Osservato 2602 volte

f.gif
f.gif (8.87 KiB) Osservato 2600 volte

g.gif
g.gif (8.95 KiB) Osservato 2599 volte
"Il circuito ha sempre ragione" (Luigi Malesani)
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

[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 Utentecdileo
0 2
 
Messaggi: 19
Iscritto il: 29 dic 2009, 17:21

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 UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55

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 Utentecdileo
0 2
 
Messaggi: 19
Iscritto il: 29 dic 2009, 17:21

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) Osservato 2523 volte

i.gif
i.gif (15.22 KiB) Osservato 2522 volte
"Il circuito ha sempre ragione" (Luigi Malesani)
Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55


Torna a Matematica generale

Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti