Tuesday, 15 April 2014

divided interpolasi /newton interpolasi orde 3 metode numerik

hasilnya
-----------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>

int main()
{
float x0,x,x1,x2,x3,fx0,fx,fx1,fx2,fx3,b0,b1,b2,b3,fx1x0,fx2x1,fx3x2,fx2x1x0,fx3x2x1,fx3x2x1x0;
printf("program untuk diveded interpolasi\n");
printf("masukan nilai x0 : \n");
scanf("%f",&x0);
printf("masukan nilai x1 : \n");
scanf("%f",&x1);
printf("masukan nilai x2 : \n");
scanf("%f",&x2);
printf("masukan nilai x3 : \n");
scanf("%f",&x3);
printf("masukan nilai x : \n");
scanf("%f",&x);


printf("masukan nilai f(x0) : \n");
scanf("%f",&fx0);
printf("masukan nilai f(x1) : \n");
scanf("%f",&fx1);
printf("masukan nilai f(x2) : \n");
scanf("%f",&fx2);
printf("masukan nilai f(x3) : \n");
scanf("%f",&fx3);

fx1x0=(fx1-fx0)/(x1-x0);
fx2x1=(fx2-fx1)/(x2-x1);
fx3x2=(fx3-fx2)/(x3-x2);
fx2x1x0=(fx2x1-fx1x0)/(x2-x0);
fx3x2x1=(fx3x2-fx2x1)/(x3-x1);
fx3x2x1x0=(fx3x2x1-fx2x1x0)/(x3-x0);
b0=fx0;
b1=fx1x0;
b2=fx2x1x0;
b3=fx3x2x1x0;

fx=b0+(b1*(x-x0))+(b2*(x-x0)*(x-x1))+(b3*(x-x0)*(x-x1)*(x-x2));
printf("fx1x0     = %f\n",fx1x0);
printf("fx2x1     = %f\n",fx2x1);
printf("fx3x2     = %f\n",fx3x2);
printf("fx2x1x0   = %f\n",fx2x1x0);
printf("fx3x2x1   = %f\n",fx3x2x1);
printf("fx3x2x1x0 = %f\n",fx3x2x1x0);


printf("hasil====\n");
printf("x0=%f\t|   b0=%f   \t|   f(x0)=%f\n",x0,b0,fx0);
printf("x1=%f\t|   b1=%f   \t|   f(x1)=%f\n",x1,b1,fx1);
printf("x2=%f\t|   b2=%f   \t|   f(x2)=%f\n",x2,b2,fx2);
printf("x3=%f\t|   b3=%f   \t|   f(x3)=%f\n",x3,b3,fx3);
printf("x =%f\t|         \t\t|   f(x) =%f\n",x,fx);



system("pause");
return 0;
}

hasilnya

No comments:

Post a Comment