ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมเพื่อหาผลลัพธ์จากสูตรการประมาณค่า Lagrange's Interpolation
คุณไม่ต้องเขียนตรรกะอะไรเพิ่มเติม แค่นำสูตรมาเขียนเป็นโค้ดเท่านั้น มาดูตัวอย่างโค้ด
ตัวอย่างโค้ด
#include<bits/stdc++.h>
using namespace std;
struct Data {
int x, y;
};
double interpolate(Data function[], int xi, int n) {
double result = 0;
for (int i = 0; i < n; i++) {
double term = function[i].y;
for (int j = 0; j < n; j++) {
if (j != i) {
term = term * (xi - function[j].x) / double(function[i].x - function[j].x);
}
}
result += term;
}
return result;
}
int main() {
Data function[] = {{0,3}, {1,2}, {6,9}, {10,17}};
cout << interpolate(function, 3, 5) << endl;
return 0;
}
ผลลัพธ์
หากรันโค้ดด้านบน จะได้ผลลัพธ์ดังนี้:
3
สรุป
หากมีข้อสงสัยเกี่ยวกับบทช่วยสอนนี้ สามารถถามได้ในส่วนความคิดเห็น