Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- const int n = 6;
- double func_val (double x, double* x_val, double* y_val){
- double newt_val = 0;
- double div_diff, denom;
- for (int i = 0; i < n; i++){
- div_diff = 0;
- for (int j = 0; j <= i; j++){
- denom = 1;
- for (int k = 0; k <= i; k++){
- if (k != j) denom *= (x_val[j] - x_val[k]);
- printf("%f \n", denom);
- }
- div_diff += y_val[j] / denom;
- }
- for (int k = 0; k < i; k++) div_diff *= (x - x_val[k]);
- newt_val += div_diff;
- }
- return newt_val;
- }
- double F(double x) { return pow(x, 2)* 0.6; }
- int main () {
- double x_val[n];
- double y_val[n];
- double s, j = 2;
- for (int i = 0; i < n; i++)
- {
- x_val[i] = j;
- y_val[i] = F(j);
- j += 1.0 / (n - 1);
- }
- s = abs(F(0.5) - func_val(0.5 , x_val, y_val));
- printf ("%lf\nerror: %lf", func_val(0.5, x_val, y_val), s);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement