No dobra jestem i dalej nie wiem o co ci chodzi
Przypuszczam ze o to co ponizej :
Masz tablice gestosci naft w danych temperaaturach
Tablica ta powinna miec uporzadkowana rosnaco kolumne temperatury tzn na poczatku tablei najmniejsza na koncu najwyzsza
Teraz w tej tabeli odszukujesz takie dwie sasiednie temperaury ze gorna jest mniejsza od 20 a dolna wieksza od 20 czyli 20 lezy pomiedzy nimi. Musza to byc dwie sasiednei temperatury
Ozmaczymy je jako t1 i t2 a odpowiadajace im gestosci odczytane z atbeli jako d1 i d2
np jesli lewa kolumna ma postac
to twoja temperatura dla ktorej szukasz gestosci czyli tx = 20C lezy pomiedzy 15C a 30C
czyli
t1 = 15
tx = 20
t2 = 30
odpowiadaja im gestosci
d1 - odczytana z tabeli
dx - ta ktora trzeba wyznaczc na drodze interpolacji
d2 odczytana z tabeli
Przy onterpoalcji liniowej przyjmuje sie ze w tak malym zakresie dowolna funkcja opisujaca gestosc jako funkcje temperatury jest funkcja liniowa o postaci
d (t) = a*t +b
gdzie a i b jakies tam wspolczynniki
hdybysmy sobie narysowlai wykresik d(t) w tymzakresie to oznacza to ze w przedziel temperatur od t1 do tt2 wszystkie wartosci gestosci d sa liniowa funkcja temperatury i leza na prostej przechodzacej przez pukty )t1, d1) (t2,d2) czyli takze twoj poszukiwany punkt (tx, dx) na niej lezy.
Wykorzystujac fakt iz znamy wspolrzedne 3 punktow (albo wartosi funkcji liniowej dla 2 znanych argumentow) ozemy spokojnie wyznaczyc sobie to rownanie czyli okreslic wspolczynniki a i b a znahac je na podstawie znanej tx wyliczymy dx. I to cala slynna interpolacja liniowa. Mozna sobje ja tlumaczyc na kilka innych sposobow
a wic lecimy dalej
zapisujemy sobje rownania naszej prosztej dla znanych punktow p1 i p2 o wspokrzednych (t1, d1) i (t2,d2)
(1) d1 = a*t1 +b
(2) d2 = a*t2 +b
(3) dx = a*tx +b
Poniewa jestem leniwy to pokombinuje zamiast rozwiazywac
od 3 odejmuje 1
dx - d1 -a*tx - a*t1
czyli
(4) dx - d1 = a (tx-t1)
Odejmujemy od drugiego pierwxze i mamy
d2 - d1 = at2 - at1
czyli a = (d2-d1)/(t2-t1)
wstawiamy do *4( i mamy
dx - d1 = a (tx-t1)
dx - d1 = (tx-t1) * (d2-d1)/(t2-t1)
czyli
zauwaz ze zwisa nam wzor tej funkcji bo tylko potrzebojemy cos do licznia ale jak sie upierasz na funkcje to sobie rozwin nawias i masz z funkcje.
Nie zostaje nam nic innego jak wstawic odczytane z tablic t1 t2 d1 d2 oraz wartosc tx=2o dla ktorja szukamy dx i po kilku prostych dzialaniach mamy dx
Ot i cale mecyje z interpolacja liniowa.
Poniwaz cheniki ti zboczaki krzyzujace sie i proporcjonujace namietnie tam gdzie tylko mozna a nawet tam gdzie nei wypada to cos podpowiem na koniec gdybys szla droga gemetryczna to chyba z ktoregos z twierdzonek ojakichs prostycj cos tam przecinajacy czy z kilku innych bys to samo otrzymala
Jak znasz te twierdzonko to wiesz o co mi chodzi a jak nie too pocierpisz jeszcze troche,
Popatrzmy na to cos co otrzymalismy
brzydkie jakies paskudne podejrzanei wyglada
a mzoe tak wyglada ciekawiej ?
Dlaczego ciekawie ? Ano popatrzmy jak latwo i bez matematyki sie do YES_YES_YES_sic
Mamy nasz tabelke z ktorej jak powyzj wezmiemy fragment zawierajacy temperature dla ktorej chcemy interpolowac gestosc
patrzymy na pierwszy rzadeki .. olewamy go
ale drugi i trzeci rzadek juz pomeczymu odejmowankiem
Wartosci w 2 i 3 rzedzie pomniejszamy o wartosc w pierwszym rzedzie
mowa postac rzedu 2 i 3 bedzie
znamy wszystkie wartosci oprocz prawej gornej ktorej szukamy
poniewaz jest to liniowa to z proporcji typu
mamy
szukaane = to co pod * to co po lewej / to co po skosie
czyli
szukaane = dx - d1
to co pod = d2 - d1
to co po lewej tx - t1
to co po skosie t2 - t1
(dx - d1) = (d2 - d1)*(tx - t1)/(t2 - t1)
(dx - d1)/(tx - t1) = (d2 - d1)/(t2 - t1)
czyz to nie jest to samo co przed chwila wyprowadzalismy ?
oczywiscie trzeba zauwazyc iz wyliczasz wartosc
(dx - d1) = wynik z proporcji
czyli szukana gestoosc
dx = wynik z proporcji + d1
wydaje mi sie ze metoda mlpki jest latwiejsza
byle -
tabela posortowana rosnaco (na dole najwieksza) temperatury
potem znalezc przedzial
poodejmowac wartosci z pierwzgo rzedu
z proporcji wyliczyc dx - d1
do wyniku z proporcji dodac d1 (gestosc z pierwszego rzedu)
Tak szczerze mwoiwac to po 2 lub 3 obliczeniach samo ci sie bedzie ukladalo
wezmy przykladowe dane jak powyzej
szukamy dla 20C
20 jest pomiedzy 15 a 30 czyli interesyje nas wiersz2 i wiersz3
ze wzoru wykutego na pamiec
| | |
| Kod: (d2-d1) dx = d1 + -------- * (tx-t1) (t2-t1)
(0,840 - 0,870) dx = 0,870 + ---------------- * (20-15) (30-15)
czyli - 0,030 dx = 0,870 + -------- * (5) 15
dx = 0,870 - 0,002 *5 =0,870 - 0,01 = 0,860
| |
| | |
a tera po malpiemu
chmmmmdziwne wyszlo to samo ;((( podejrzane
Na koniec dalej twierdze ze skoro masz tabice obejmujace zakres cie interesujacy i masz pomiar d=0.8414 w T=22.5 stopniach to dalej nie wem co chcesz interpolowac
no chyba ze chcesz z tablicy wyznaczyc gestos nafty dla temperatury w ktorej dokonywalas pomiaru i w ten sposob ocenic jakos swego pomaiaru
ale to naprawde ma niewiele wspolnego z tym co piszesz (tak przynajmniej mi sie wydaje moze mam pomrocznosc jasna ale trudno)
A najprosciej to do jakiegos arkusz wrzucic ta formulke i liczy (o ile nie ma jakiejs glupawej funkcji gotowej)