- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
20083669宋欣实验1
黑龙江大学
实 验 报 告
课程名称 数值分析 实验项目名称 Lagrange插值多项式 实验时间
(日期及节次) 2011年 5 月 12 日 第10-11节 专业 软件工程 学生所在学院 软件学院 年级 2008级 五班 学号 姓名 宋欣 指导教师 马吉权 实验室名称 软件学院 第4-513实验室
实验成绩
预习情况 操作技术 实验报告 附加:综合创新能力 实验
综合成绩 教师签字
黑龙江大学教务处
实验名称: Lagrange插值多项式
实验目的
为了掌握计算方法的基本思想、原理和方法,要注意计算方法的处理技巧与计算机实现的结合,需将各种数值方法设计成算法,并编制好程序,拿到计算机上实现,最后得到可行性的验证。
实验要求
⑴ 用C或C++、Java、FORTRAN、Matlab等计算机程序设计语言编写程序。
⑵ 上机前充分准备,复习相关知识,选用合适的数据结构并详细设计算法,尽量写出具有通用性的程序,反复检查程序。
⑶ 上机时快速输入程序;首先排除语法错误;然后采用多组数据,详细测试,排除逻辑错误;最后将程序调试成功,运行程序得到准确结果。
⑷ 完成计算后,反复体会和分析,试着改善计算复杂性,使程序或算法更加完美。
实验环境
硬件环境
CPU : Pentium 4以上
内存:256MB以上
软件环境
(1)操作系统:Microsoft Windows XP 和 2000
(2)编译器 :C或C++、Java、FORTRAN、Matlab
本实验课程与其它课程的关系
本课程的前导课程有高等数学、线性代数(或高等代数)、C语言或FORTRAN语言等,最好事先开设数据结构;后续课程有计算机图形学、图像处理、模式识别等。
主要代码:
float C数值分析EX01View::lage(int x)
{
double y[13]={5.0,1.0,7.5,3.0,4.5,8.8,15.5,6.5,-5.0,-10.0,-2.0,4.5,7.0};
double temp1=0.0;double sum=0.0; double temp2=0.0;
for(int i=0;i130;i+=10)
{
double numerator=1.0;double denominator=1.0;
for(int j=0;j130;j+=10)
{
if(i==j)
continue;
else
{
temp1=x-j;
numerator*=temp1;
temp2=i-j;
denominator*=temp2;
}
}
sum+=(y[i/10]*numerator)/denominator;
}
return (sum);
}
void C数值分析EX01View::paint()
{
// TODO: 在此添加命令处理程序代码
value=1;
SetTimer(1,100,NULL);
}
void C数值分析EX01View::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDC* pDC=GetDC();
if(value==1)
{
int y[13]={50,10,75,30,45,88,155,65,-50,-100,-20,45,70};
int x[13]={0,10,20,30,40,50,60,70,80,90,100,110,120};
CPen pen(PS_SOLID,2,RGB(0,0,0));
CPen *p=pDC-SelectObject(pen);
pDC-MoveTo(50,1000);
pDC-LineTo(50,0);
pDC-MoveTo(50,0);
pDC-LineTo(25,25);
pDC-MoveTo(50,0);
pDC-LineTo(75,25);
pDC-MoveTo(0,400);
pDC-LineTo(800,400);
pDC-MoveTo(800,400);
pDC-LineTo(775,375);
pDC-MoveTo(800,400);
pDC-LineTo(775,425);
for(int i=0;i120;i++)
{
pDC-SetPixelV(i*5+50,
文档评论(0)