Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Nội suy Lagrange trong C++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tính kết quả công thức nội suy Lagrange.

Bạn không cần viết logic phức tạp, chỉ cần chuyển công thức thành mã. Hãy xem mã nguồn.

Ví dụ

Dưới đây là mã nguồn C++:

#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; 
}

Kết quả

Nếu bạn chạy mã trên, kết quả sẽ là:

3

Kết luận

Nếu bạn có bất kỳ thắc mắc nào về hướng dẫn này, hãy để lại bình luận bên dưới.