Kod interpolacji w MATLAB
Metoda bezpośrednia
Bezpośrednia metoda interpolacji obejmuje kilka etapów obliczeń. Na przykładzie wprowadzenia: "dt = 50 - 40" jest zakresem temperatur stołu. "dp = 92 - 70" to zakres ciśnienia w tabeli. "dt1 = (44-40) / dt" to ułamek zakresu temperatur dla danej temperatury. "response = dt1 * dp + 70" jest tą samą frakcją w stosunku do zakresu ciśnienia dodanego do najniższego ciśnienia w tabeli; i to jest odpowiedź. W tym przykładzie jest to 78, 8 jednostek ciśnienia.
Interpolacja liniowa w MATLAB
MATLAB zawiera funkcję, która może jednocześnie spełniać cztery obliczenia z poprzedniej sekcji. Jest to funkcja "interp1" i ułatwi obliczenia. Korzystając z poprzedniego przykładu, podaj funkcję interp1 z zakresem ciśnień, zakresem temperatury i temperaturą, a otrzymasz odpowiedź ciśnienia w jednym kroku. Wpisz następujący kod w wierszu komend MATLAB:
answer = interp1 ([40 50], [70 92], 44)
MATLAB odpowie "odpowiedzią 78, 8 000", która odpowiada wynikowi z poprzedniej sekcji.
Interpolacja najbliższego sąsiada
Funkcja interp1 programu MATLAB oferuje kilka metod wykonywania interpolacji. Liniowy jest metodą domyślną. Załóżmy jednak, że zamiast samych liczb 40 i 50 masz wartości temperatur dla wszystkich liczb całkowitych od 40 do 50. Załóżmy także, że masz wartości ciśnienia, które odpowiadają tylko liczbom całkowitym dla każdej wartości temperatury w twojej tabeli, Jeśli użyjesz metody "najbliższego sąsiada", MATLAB nie da ci dokładnej wartości; zamiast tego powie ci najbliższą odpowiedź w tabeli. Kod w następującym formacie zapewnia to:
answer = interp1 ([wartości temperatury], [wartości ciśnienia], 43, 4, "najbliższe")
Interpolacja krzywych sześciennych
Krzywa sześcienna jest inną metodą, która może wykonywać funkcję interp1 lub autonomiczną funkcję "splajnu". Zamiast podawać wartość unikalną trzeciego argumentu funkcji, należy podać zakres wartości w pierwszym zakresie (temperatury w tabeli). Funkcja splajnu zwróci odpowiedni zakres w drugim zakresie (ciśnienia w tabeli). Możesz użyć kodu w następującym formacie, aby wyodrębnić zakres ciśnień odpowiadający podprzedziale temperatur:
answer = spline ([zakres temp.], [zakres ciśnienia], [temp. podrzędna])