📄 num_diff.cpp
字号:
//Numerical Differentiation using Newton's forward formula
#include<stdio.h>
#include<conio.h>
main()
{
int n,i,j,f,k;
float y[20],x[20][20],d,u,h,x1,v,w;
printf("How many values do u want:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter x[%d],y[%d]",i+1,i+1);
scanf("%f%f",&y[i],&x[i][0]);
}
do{
printf("\nEnter the value of x");
scanf("%f",&x1);
h=y[1]-y[0];
u=(x1-y[0])/h;
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
x[j][i]=x[j+1][i-1]-x[j][i-1];
}
}
d=x[0][1];
f=1;
for(i=2;i<n;i++)
{
f=f*i;
w=0;
for(k=0;k<i;k++)
{
v=1.0;
for(j=0;j<i;j++)
{
if(j!=k)
v=v*(u-j);
}
w=w+v;
}
d=d+((w*x[0][i])/f);
}
printf("The reqd value is:%f",d/h);
printf("\n\nDo you want to continue(y/n)");
}while(getch()=='y');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -