Kód pro interpolaci v MATLABu
Přímá metoda
Přímá metoda interpolace zahrnuje několik kroků výpočtu. Pomocí příkladu úvodu: "dt = 50 - 40" je teplotní rozsah tabulky. "dp = 92 - 70" je tlakový rozsah tabulky. "dt1 = (44-40) / dt" je zlomek teplotního rozsahu pro danou teplotu. "odezva = dt1 * dp + 70" je stejná frakce v rozmezí tlaku přidaném k nejnižšímu tlaku v tabulce; a to je odpověď. V tomto příkladu je to 78, 8 tlakových jednotek.
Lineární interpolace v MATLABu
MATLAB obsahuje funkci, která může současně splnit čtyři výpočty předchozí části. Je to funkce "interp1" a vaše výpočty budou jednoduché. Pomocí předchozího příkladu poskytněte funkci interp1 s tlakovým rozmezím, teplotním rozsahem a příslušnou teplotou a poskytne vám tlakovou odezvu v jediném kroku. Do příkazového řádku MATLAB napište následující kód:
odpověď = interp1 ([40 50], [70 92], 44)
MATLAB bude reagovat "odpovědí = 78, 8000", což odpovídá výsledku předchozího oddílu.
Interpolace nejbližšího souseda
Funkce interp1 MATLABu nabízí několik metod k provádění interpolace. Lineární je výchozí metoda. Předpokládejme však, že namísto pouhých čísel 40 a 50 máte hodnoty teploty pro všechna celá čísla mezi 40 a 50. Předpokládejme také, že máte hodnoty tlaku, které odpovídají pouze číselným hodnotám pro každou hodnotu teploty ve vaší tabulce, Pokud použijete metodu "nejbližšího souseda", MATLAB vám nedá přesnou hodnotu; místo toho vám ukáže nejbližší odpověď v tabulce. Kód v následujícím formátu to provede:
odpověď = interp1 ([temp hodnoty], [hodnoty tlaku], 43, 4, "nejbližší")
Interpolace kubických křivek
Kubická křivka je další metodou, která může provádět funkci interp1 nebo autonomní funkci "spline". Namísto poskytnutí jedinečné hodnoty třetímu argumentu funkce jej dáte rozsah hodnot v rámci prvního rozsahu (teploty v tabulce). Funkce spline vrátí odpovídající rozsah v rámci druhého rozsahu (tlaky v tabulce). Kód můžete použít v následujícím formátu, abyste extrahovali rozsah tlaků odpovídajících podružnému teplotám:
answer = spline ([rozsah teplot], [rozsah tlaku], [podrozsahová teplota])