没有合适的资源?快使用搜索试试~ 我知道了~
牛顿插值法(牛顿插值法计算步骤)
需积分: 47 20 下载量 183 浏览量
2010-10-16
23:09:40
上传
评论
收藏 44KB DOC 举报
温馨提示
试读
2页
输入n值及(xi,f(xi)),计算的函数点
资源推荐
资源详情
资源评论
牛顿插值法计算步骤
1. 输入
n
值及(
))(,
ii
xfx
,,,1,0, ni
;要计算的函数点
x
。
2. 对给定的
,x
由
0 0 0 1 0 1 0 1 2 0
1 1 0 1
( ) ( ) ( ) , ( )( ) , , ( )
( ) ( ) , ,
n
n n
N x f x x x f x x x x x x f x x x x x
x x x x f x x x
计算
( )
n
N x
的值。
3.输出
( )
n
N x
。
import java.io.*;
public class N{
public static void main(String[] args){
try{
System.out.print("请输入要插入点的个数:");
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
int N=Integer.parseInt(br1.readLine());
int n=N-1;
double[] a=new double[N];
double[] b=new double[N];
for(int k=0;k<=n;k++){
System.out.print("X"+(k+1)+"=");
BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
a[k]=Double.parseDouble(br2.readLine());
System.out.print("Y"+(k+1)+"=");
BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));
b[k]=Double.parseDouble(br3.readLine());
}
System.out.print("请输入要计算的数:");
BufferedReader br4=new BufferedReader(new InputStreamReader(System.in));
double x=Double.parseDouble(br4.readLine());
newdunchazhi(n,a,b,x);
}
catch(IOException e){
System.out.print(e.toString());
}
}
public static void newdunchazhi(int n,double[] a,double[] b,double x){
double y=b[0];
double p=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i+1;j++){
b[j-1]=(b[j]-b[j-1])/(a[j+i-1]-a[j-1]);
}
p=p*(x-a[i-1]);
y=y+p*b[0];
}
System.out.println("==============="+"f("+x+")="+y);
}
}
实验内容
给定
sin11 0.190809,sin12 0.207912,sin13 0.224951,
o o o
构造牛顿插值函
资源评论
mellisatys
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功