Hermite 插值多项式计算近似值——JAVA实现


import java.util.Scanner;
public class Hermite {//x x //y y //m m // x0 插入的值   // y0 近似值public static double[] aaa(double x[],double y[], double m[], double x0[]) {int a=x.length;int b=x0.length;double y0[]=new double[b];double add_xj_xk=0;//连加double mul_x0_xk=1;//连乘double add_h2n1x=0;//近似值for (int i=0;i<b;i++) {//一重循环将不同插值点近似值传给数组y0add_h2n1x=0;for (int j=0;j<a;j++) {//二重循环计算H2n+1(x)mul_x0_xk=1;add_xj_xk=0;for(int k=0;k<a;k++) {//三重循环计算l'j(xj)和lj(x)if (j!=k) {                add_xj_xk+=1/(x[j]-x[k]);mul_x0_xk*=((x0[i]-x[k])/(x[k]-x[j]));}}add_h2n1x+=(y[j]*(1-(2*(x0[i]-x[j])*add_xj_xk))*(mul_x0_xk*mul_x0_xk))+(m[j]*(x0[i]-x[j])*(mul_x0_xk*mul_x0_xk));}y0[i]=add_h2n1x;}return y0;}public static void main(String[] args) {double []x= {0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00};double []y= {0.904837,0.818731,0.740818,0.670320,0.606531,0.548812,0.496585,0.449329,0.406570,0.367879};double []m= {-0.904837,-0.818731,-0.740818,-0.670320,-0.606531,-0.548812,-0.496585,-0.449329,-0.406570,-0.367879};System.out.println("输入插值点个数:");Scanner scan =new Scanner(System.in);int n=scan.nextInt();double X0[]=new double[n];System.out.println("输入插值点横坐标:");//需要求的插值点的横坐标标值for(int i=0;i<n;i++){X0[i]=scan.nextDouble();}double Y0[]=aaa(x, y, m, X0);//使用H插值法求解得到需求插值点的纵坐标值System.out.println("H插值法求解得:");for(int i=0;i<n;i++){System.out.println(Y0[i]+" ");}System.out.println();}}

Hermite 插值多项式——JAVA实现相关推荐

  1. Python插值法(3)————hermite插值多项式(拉格朗日型)

    只讨论含一阶导数的情况. 代码 import numpy as np from sympy import * from matplotlib import pyplot as pltdef hermi ...

  2. Hermite插值是牛顿插值的极限情形

    Hermite插值可以看作牛顿插值的极限状况.为什么可以这么说呢?我们来看一个实例: 构造一个三次多项式 $p_3$ 使得 $p_3(0)=0$,$p_3(1)=1,p_3'(0)=1,p_3'(1) ...

  3. 埃尔米特插值(等距节点,只用一个点的导数构造n+1阶Hermite多项式)Python实现

    函数 y=11+x2y=11+x2 y = \frac{1}{1+x^2} 埃尔米特插值 埃尔米特多项式构造方法有很多种. 这里只是用最简单的一种,通过均差来进行构造,最后再通过任意一个点的导数来计算 ...

  4. 【数学与算法】【分段三次Hermite插值】和【分段三次样条插值】

    光滑曲线在数学上的定义是什么?? 原文链接:光滑曲线在数学上的定义是什么? 回答1: 定义:切线随切点的移动而连续转动. 若函数f(x)f(x)f(x)在区间(a,b)(a,b)(a,b)内具有一阶连 ...

  5. 埃尔米特(Hermite)插值

    Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值.对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况.在此情 ...

  6. 埃尔米特(Hermite)插值及其MATLAB程序

    %hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...

  7. c语言埃尔米特插值思路,【数学建模算法】(26)插值和拟合:埃尔米特(Hermite)插值和样条插值...

    1.埃尔米特(Hermite)插值 1.1.Hermite插值多项式 如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶.二阶甚至更高阶的导数值,这就是 Hermite 插值问 ...

  8. 艾尔米特插值的MATLAB实现,埃尔米特(Hermite)插值

    Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值.对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况.在此情 ...

  9. hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序

    %hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...

最新文章

  1. [小技巧]移除C/C++源码中无关的#ifdef
  2. GUI菜单——菜单条、菜单、子条目之间关系
  3. 2017-3-10 SQL server 数据库 T--SQL语句
  4. .NET Core amp; ASP.NET Core 1.0在Redhat峰会上正式发布
  5. thinkPhp 3.1.3的验证码无法显示的问题
  6. JS_异步任务之流程控制
  7. Python中文问题
  8. 2021.05.26【R语言】丨clusterProfiler注释大肠杆菌GO/KEGG富集图
  9. 金额小写转大写 java_JAVA 小写金额转换大写金额
  10. Android虚拟机AVD has terminated
  11. 纹波测试方法(收集整理)
  12. 【微信公众平台开发之一】微信公众平台开发环境搭建
  13. ArithmeticException算数异常
  14. 关于Navicat 连接 RDS数据库
  15. QNX Screen---Blit
  16. ubuntu 下使用wireless拨号上网
  17. Red Hat牵头推进NVFS文件系统
  18. 制作网上投票链接制作可以投票的链接制作制作一个投票链接
  19. 自制适合IPAD阅读的PDF文件
  20. jojo第七部dio怎么复活_JOJO:DIO才是第七部的大善人,从未夺人性命

热门文章

  1. APP开发注册和个人开发计划注册审批周期
  2. ajax 请求xml,如何获取xmlhttp请求(AJAX)的URL
  3. 铸造工艺过程中的环保措施
  4. 教授专栏18 | 黄阳光: 建网络信誉系统 增线上促销成效
  5. 解决JDK9以上的非法反射访问警告
  6. Linux网卡绑定(bonding)配置
  7. 格式转换:CAD模型转点云
  8. huffman树的带权路径长度
  9. 制造业升级转型:制造业上市公司-智能制造词频统计数据集
  10. 电子秤芯片方案CSU18M88