插值法 数值分析

本章介绍数值分析中的插值法,包括拉格朗日和牛顿两种方法。插值法常用于解决通过已知坐标点预测未知点位置的问题,通常使用多项式来逼近原函数。本文侧重于代码实现,详细阐述了拉格朗日和牛顿插值法的基本思想。
摘要由CSDN通过智能技术生成

在本章介绍一下数值分析里的插值法,分为Lagrange插值和Newton插值。
引述:在很多时候我们都会遇到这样类似的问题,飞机失事后将会坠落在哪里,卫星太空飞船返航会坠落在哪里,,等等类似的问题。将其抽象成数学问题,就是已知N个坐标对,形如(x1,y1),(x2,y2),,,,(xn,yn)要推算出后面或中间的点对位置,这就需要我们构造一个近似的函数来逼近原函数,使得近似函数经过或逼近那n个点。而数学上常用多项式来逼近原函数;(数学表达不是很恰当,大概意思明白即可)
具体的数学过程就不写了,有不清楚的地方可以去查一下,这里主要是代码。

1.Lagrange (拉格朗日)插值法

class Point{
    public String x;
    public String y;
}
class Point_cal{
    public double x;
    public double y;
}
public class Lagrange {
  //拉格朗日 插值法
    
数值分析实验 插值法 java版 import java.awt.*; import java.awt.event.*; import java.util.StringTokenizer; import javax.swing.Box; class chazhifa extends Frame implements ActionListener { TextArea area, result, result2; Button butt, butt2, butt3; Label lab, lab3; Box box1, box2, box3, box4, box5, box6, box7; TextField field, field2; chazhifa() { super("插值法:"); area = new TextArea(5, 34); result = new TextArea(4, 8); result.setEditable(false); result2 = new TextArea(4, 8); result2.setEditable(false); butt = new Button("拉格朗日插值:"); butt3 = new Button("牛顿插值:"); butt2 = new Button("清除"); field = new TextField(5); field2 = new TextField(5); lab = new Label("依次输入xi和yi的值:"); lab3 = new Label("输入n和x:"); box2 = Box.createHorizontalBox(); box1 = Box.createVerticalBox(); box3 = Box.createHorizontalBox(); box4 = Box.createHorizontalBox(); box5 = Box.createHorizontalBox(); box6 = Box.createHorizontalBox(); box7 = Box.createVerticalBox(); setLayout(new FlowLayout()); box2.add(lab3); box2.add(field); box2.add(field2); box2.add(butt2); box3.add(lab); box4.add(area); box5.add(butt); box5.add(butt3); box6.add(result); box6.add(result2); box7.add(Box.createVerticalStrut(6)); box7.add(box2); box7.add(Box.createVerticalStrut(5)); box7.add(box3); box7.add(Box.createVerticalStrut(5)); box7.add(box4); box7.add(Box.createVerticalStrut(5)); box7.add(box5); box7.add(Box.createVerticalStrut(5)); box7.add(box6); box7.add(Box.createVerticalStrut(5)); add(box7); butt.addActionListener(this); butt2.addActionListener(this); butt3.addActionListener(this); validate(); setBounds(200, 200, 300, 330); setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值