网络强国是哪几个:Hermite插值———学习笔记 - 我的文章 -
来源:百度文库 编辑:中财网 时间:2024/04/29 18:57:49
Hermite插值———学习笔记
/**
* @(#)Hermite.java
*
*
* @author 坚持到底
* @version 1.00
*/
public class Hermite
{
private double[] x;
private double[] y;
private double[] m;
private int n;
/**
* 构造函数
* @param x 节点x
* @param y 节点x所对应的函数值
* @param m y所对应的导数值
* @param n 节点的个数
*/
Hermite(double[] x, double[] y, double[] m, int n)
{
this.x = x;
this.y = y;
this.m = m;
this.n = n;
}
/**
* @param x0
* @return x0处所对应的Hermite插值的值
*/
public double calHermite(double x0)
{
double HermiteValue = 0.0;
int j;
for (j = 0; j < n; j++)
HermiteValue += y[j] * a(j, x0) + m[j] * b(j, x0);
return HermiteValue;
}
public double a(int j, double x0)
{
double value = 0.0;
double sum = 0.0;
int k;
for (k = 0; k < n; k++)
{
if (k == j)
continue;
else
{
sum += (1.0 / (x[j] - x[k]));
}
}
value = (1-2 * (x0 - x[j]) * sum) * l(j, x0) * l(j, x0);
return value;
}
public double b(int j, double x0)
{
double value = 0.0;
value = (x0 - x[j]) * l(j, x0) * l(j, x0);
return value;
}
/**
* Lagrange插值基函数
*/
public double l(int j, double x0)
{
double value = 1;
int i;
for (i = 0; i < n; i++)
{
if (i == j)
continue;
else
{
value *= (x0 - x[i]) / (x[j] - x[i]);
}
}
return value;
}
public static void main(String[] args)
{
double[] x={0.10,0.15,0.30,0.45,0.55,0.60,0.70,0.85,0.9,1.0};
double[] y={0.904837,0.860708,0.740818,0.637628,0.576950,0.548812,0.496585,0.427415,0.406570,0.367879};
double[] m={-0.904837,-0.860708,-0.740818,-0.637628,-0.576950,-0.548812,-0.496585,-0.427415,-0.406570,-0.367879};
int n = 10;
double x0 = 0.356;
Hermite h = new Hermite(x, y, m, n);
System.out.println("f(" + x0 + ")=" + h.calHermite(x0));
}
}
跪求《等级考试学习笔记——三级数据库技术》上机模拟考试光盘序列号!
有学习好笔记写得好的重点高中学生我要买高二高三的英语课堂笔记
如何做学习笔记
司法鉴定学习笔记范文
学习型班组学习笔记
Hermite曲线生成算法
查找先进性教育的学习笔记
牛津9A学习笔记
PRO-E的学习笔记
怎么写团章学习笔记?
求一学习笔记软件
哪里有英语学习笔记?
PRO-E的学习笔记
高中怎样做学习笔记
电线杆插鸡毛——()
猪鼻子里插大蒜——
猪鼻子里插大葱——
我要英语笔记
学习——我该怎样做呢?
求中级物流师的学习笔记
有机化学学习笔记 这本书有吗?
笔记本能插台式机的cpu,硬盘,和内存么?
谁知道06年川大旅游管理专业课笔记——旅游学概论?
谁有比较好的政治经济学笔记——考研用,万分感谢~~