Veri noktalarından yumuşak geçişli eğriler üretmek için Spline İnterpolasyonu ve En Küçük Kareler Uyumu yöntemlerini kullanır.
Ayrık veri noktalarından oluşan sistemleri analiz etmek için iki temel yaklaşım kullanılır: Noktaların tamamından tam olarak geçen bir eğri çizmek (İnterpolasyon) veya veri gürültüsünü filtreleyerek noktaların yakınına oturan genel bir trend eğrisi bulmak (Eğri Uydurma).
Bu modül iki önemli yaklaşımı sunar: 1) Noktalar arasında üçüncü dereceden parçalı polinomlar oluşturarak yumuşak geçişler sunan Spline İnterpolasyonu. 2) Noktalar ile uydurulan doğru arasındaki kare hataların toplamını en aza indiren doğrusal En Küçük Kareler Uyumu.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1type Point = { x: number; y: number };2function leastSquaresFit(points: Point[]): { slope: number; intercept: number } {3 const n = points.length;4 let sumX = 0, sumY = 0, sumXX = 0, sumXY = 0;5 for (const p of points) {6 sumX += p.x; sumY += p.y;7 sumXX += p.x * p.x; sumXY += p.x * p.y;8 }9 const denominator = n * sumXX - sumX * sumX;10 if (Math.abs(denominator) < 1e-9) { throw new Error('X koordinatları tek bir dikey doğru üzerindedir.'); }11 const slope = (n * sumXY - sumX * sumY) / denominator;12 const intercept = (sumY - slope * sumX) / n;13 return { slope, intercept };14}Yöntemi (least-squares veya spline) ve noktaları girin. Örn: least-squares; 1:2, 2:3, 3:5 | 2.5 veya spline; 1:2, 2:4, 3:2 | 1.5
Yöntemi (least-squares veya spline) ve noktaları girin. Örn: least-squares; 1:2, 2:3, 3:5 | 2.5 veya spline; 1:2, 2:4, 3:2 | 1.5
En İyi Durum: En Küçük Kareler: O(n), Spline: O(n)
Ortalama Durum: En Küçük Kareler: O(n), Spline: O(n)
En Kötü Durum: En Küçük Kareler: O(n), Spline: O(n)
O(n) - Çalışma süresi, giriş boyutu ile doğrusal olarak artar.
Interpolation & Fitting (İnterpolasyon ve Eğri Uydurma) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: