Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <functional>
  4.  
  5. using namespace std;
  6.  
  7. template <class T>
  8. T lagrange(vector<T> xs, vector<T> ys, T x) {
  9. T res = 0;
  10. T mul;
  11. size_t len = xs.size();
  12. for (size_t i=0; i<len; i++) {
  13. mul = 1;
  14. for(size_t j=0; j<len; j++) {
  15. if (i != j) {
  16. mul *= (x-xs[j])/(xs[i]-xs[j]);
  17. }
  18. }
  19. res += mul * ys[i];
  20. }
  21. }
  22.  
  23. int main()
  24. {
  25. vector<double> xs = {8, 9, 9.5, 10, 11};
  26. vector<double> ys = {0,0,1,0,0};
  27.  
  28. double x;
  29.  
  30. while(true) {
  31. cout << "x ? ";
  32. cin >> x;
  33. cout << "lagrange(" << x << ") = " << lagrange(xs, ys, x) << '\n';
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement