Hermite 插值多项式——JAVA实现
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实现相关推荐
- Python插值法(3)————hermite插值多项式(拉格朗日型)
只讨论含一阶导数的情况. 代码 import numpy as np from sympy import * from matplotlib import pyplot as pltdef hermi ...
- Hermite插值是牛顿插值的极限情形
Hermite插值可以看作牛顿插值的极限状况.为什么可以这么说呢?我们来看一个实例: 构造一个三次多项式 $p_3$ 使得 $p_3(0)=0$,$p_3(1)=1,p_3'(0)=1,p_3'(1) ...
- 埃尔米特插值(等距节点,只用一个点的导数构造n+1阶Hermite多项式)Python实现
函数 y=11+x2y=11+x2 y = \frac{1}{1+x^2} 埃尔米特插值 埃尔米特多项式构造方法有很多种. 这里只是用最简单的一种,通过均差来进行构造,最后再通过任意一个点的导数来计算 ...
- 【数学与算法】【分段三次Hermite插值】和【分段三次样条插值】
光滑曲线在数学上的定义是什么?? 原文链接:光滑曲线在数学上的定义是什么? 回答1: 定义:切线随切点的移动而连续转动. 若函数f(x)f(x)f(x)在区间(a,b)(a,b)(a,b)内具有一阶连 ...
- 埃尔米特(Hermite)插值
Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值.对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况.在此情 ...
- 埃尔米特(Hermite)插值及其MATLAB程序
%hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...
- c语言埃尔米特插值思路,【数学建模算法】(26)插值和拟合:埃尔米特(Hermite)插值和样条插值...
1.埃尔米特(Hermite)插值 1.1.Hermite插值多项式 如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶.二阶甚至更高阶的导数值,这就是 Hermite 插值问 ...
- 艾尔米特插值的MATLAB实现,埃尔米特(Hermite)插值
Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值.对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况.在此情 ...
- hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序
%hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...
最新文章
- [小技巧]移除C/C++源码中无关的#ifdef
- GUI菜单——菜单条、菜单、子条目之间关系
- 2017-3-10 SQL server 数据库 T--SQL语句
- .NET Core amp; ASP.NET Core 1.0在Redhat峰会上正式发布
- thinkPhp 3.1.3的验证码无法显示的问题
- JS_异步任务之流程控制
- Python中文问题
- 2021.05.26【R语言】丨clusterProfiler注释大肠杆菌GO/KEGG富集图
- 金额小写转大写 java_JAVA 小写金额转换大写金额
- Android虚拟机AVD has terminated
- 纹波测试方法(收集整理)
- 【微信公众平台开发之一】微信公众平台开发环境搭建
- ArithmeticException算数异常
- 关于Navicat 连接 RDS数据库
- QNX Screen---Blit
- ubuntu 下使用wireless拨号上网
- Red Hat牵头推进NVFS文件系统
- 制作网上投票链接制作可以投票的链接制作制作一个投票链接
- 自制适合IPAD阅读的PDF文件
- jojo第七部dio怎么复活_JOJO:DIO才是第七部的大善人,从未夺人性命