- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值方法上机作业
数值计算方法
上机作业
(C++版)
2008-12-01第二章 插值法上机作业
一、编制通用程序
对n+1个节点xi及yi=f(xi)(i=1,……,n)
n次拉格朗日插值计算公式Ln(x);
n次牛顿向前插值计算公式;
n次牛顿向后插值计算公式。
定义头文件:interpolate.h
#ifndef INTERPOTATE_H_H
#define INTERPOTATE_H_H
using namespace std;
const int Zero = 1e-6;
bool LagrangeInterpolate(const int n, double *x, double *y, double intervalue, double *result_x);
bool NewtonFront(const int n, double *x, double *y, double intervalue, double *result_x);
bool NewtonBack(const int n, double *x, double *y, double intervalue, double *result_x);
#endif
拉格朗日插值子程序流程图及程序:
#include iostream
#include iomanip
#include math.h
#include Interpolate.h
using namespace std;
bool LagrangeInterpolate(const int n, double *x, double *y, double intervalue, double *result_x)
{
int i,j,k;
double Vandermonde = 1.0;
*result_x = 0.0;
for(k=0; k=n; ++k)
{
Vandermonde = 1.0;
for(i=0; i=n; ++i)
{
if(i != k)
{
Vandermonde = ( (intervalue - x[i]) / (x[k] - x[i]) ) * Vandermonde;
}
}
*result_x = *result_x + Vandermonde * y[k];
}
coutInterpolate at X = setiosflags(ios::fixed | ios::showpoint)setw(10)
intervalue ===== setw(10)*result_xendl;
return true;
}
2.牛顿向前插值子程序流程图及程序
#include iostream
#include iomanip
#include math.h
#include Interpolate.h
bool NewtonFront(const int n, double *x, double *y, double intervalue, double *result_x)
{
int i,j;
int begin = 0;
int N =n;
double t = 0.0;
double mult_t =1.0; //=====存放t多项式乘积,阶乘
double temp1 = 0.0;
double temp2 = 0.0;
//=========计算出插值的X0,确定插值次数N==========//
for(i=0; i=n; ++i)
{
if(intervalue - x[i] 0)
{
begin = i - 1;
N = n - begin;
t = (intervalue - x[begin]) / (x[1] - x[0]);
break;
}
else if( fabs(intervalue - x[i]) Zero )
{
*result_x = y[i];
coutInterpolate at X = setiosflags(ios::fixed | ios::showpoint)setw(10)
intervalue ===== setw(10)*result_xendl;
return true;
}
}
//=========开始插值初始化========================//
double * X = new double[N+1];
double
您可能关注的文档
- 教学设计元次方程根的判别.doc
- 教学设计:乘法分配律的教学设计.doc
- 教师上课点名系统.doc
- 教师招聘信息(供参考青岛招录的多尤其是开发区,时间每都差不多.doc
- 教师招聘考试小学《教育心理学》练习:问题解决与创造性.doc
- 教师招聘考试小学数学考试大纲.doc
- 教师招聘高中数学解题基本方法之待定系数法.doc
- 教师种悖论性的社会角色.doc
- 教师课堂用语优化策略研究.doc
- 教师资格考试初中数学说课稿:平行边形的判别.doc
- 2025至2030全球及中国订单管理软件行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030国内液晶显示屏行业市场发展分析及竞争策略与投资发展报告.docx
- 2025至2030港口设备市场前景分析及细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030量子加密通信行业发展现状及投资前景战略报告.docx
- 2025至2030中国音乐合成器行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国液压行业市场发展现状及竞争格局与投资机会报告.docx
- 2025至2030中国异戊橡胶行业运营态势与投资前景调查研究报告.docx
- 2025至2030帕西肽行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国超收敛集成系统行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030尖齿铣刀行业市场占有率及有效策略与实施路径评估报告.docx
原创力文档


文档评论(0)