《科学与工程中的计算方法》.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《科学与工程中的计算方法》.doc

PAGE  HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY 计算方法 实验指导书 彭彬撰写 付勇智审核 电气与信息工程学院计算机工程系 2013年12月 前言 计算方法实验要求在VC++ 6.0编程环境下进行。通过实验,力图认识不同方法在误差控制、算法稳定性、收敛速度以及迭代初值的影响等方面的特点。 如果没有特别说明,计算过程小数点后保留5位数字,最后四舍五入到小数点后四位数字;涉及迭代方法时,迭代结束的条件统一为。在VC++ 6.0中,可使用setprecision在流的输出中控制浮点数的显示(缺省显示6位)。演示如下: # includeiostream.h # includemath.h # includeiomanip.h coutsetprecision(6)setiosflags(ios::left); //输出6位精度,输出左对齐 coutsetw(12)coeff[i]; //设置输出宽度为12(不够将补充0) 本课程个别实验要求画出函数的曲线,所有画图题目均要求用MFC完成。在利用MFC画图时,先要建立一个MFC AppWizard(exe)类型的工程(建立工程时,“应用程序类型”选择“单文档”;“是否包含数据库”选择“不包含数据库”;其它选择缺省),然后在“ClassView”中XXView 类文件加以操作。一般先在XXView中加入自定义变量、自定义函数等,然后在OnDraw()方法中调用自定义函数。也可以把代码直接写入OnDraw()方法中。 图1是一个名为test的工程,在CtestView节点,点击右键,用户可以增加自定义变量,自定义函数。 如选择“Add Member Function”,输入函数的返回类型为Void,输入函数的签名为“drawOldLine(int N, CDC *pDC)”,就可以创建一个自定义函数,然后把函数补充完整即可。 画曲线有两种方法:(1)依据曲线坐标逐个用SetPixel()函数打点。(2)先把当前光标用MoveTo()函数移动到曲线的始点,再用LineTo()函数画线。线的样式由画笔决定。 对封闭区域还可以进行填充处理,填充的样式由画刷决定。 图2是一个自定义函数的例子,参数N代表画线所用的点数,代码如下: void CTestView::drawOldLine(int N, CDC *pDC) { pDC-TextOut(250,10,龙格现象);//文本输出 CPen *pnewPen,*poldPen; //设置画笔,将影响线的样式 pnewPen=new CPen(); pnewPen-CreatePen(PS_SOLID,10,RGB(0,0,0)); 图1 MFC工程 poldPen=pDC-SelectObject(pnewPen); pDC-MoveTo(0,380); pDC-LineTo(640,380); //画坐标系 pDC-MoveTo(320,0); pDC-LineTo(320,480); //画坐标系 pDC-MoveTo(20,380); //画曲线,先移动到本曲线的第一个点 for (int i=0;i=N;i++){ float x0=-1+2.0/N*i;//原始X坐标 float y0=1.0/(1+4*x0*x0);//原始Y坐标 x0=x0*300; //X坐标放大 y0=-y0*300;//Y坐标放大 int x1=(int)(320+x0); //坐标转化为整型 int y1=(int)(440+y0); //坐标转化为整型 pDC-LineTo(x1,y1); } pDC-SelectObject(poldPen); //重置画笔 } 图3是一个根据Lagrange插值多项式求函数值的自定义函数Lagrange(float x, int n, float x1[], float y1[]),其中n是插值节点的个数,数组x1,y1存放插值节点的坐标,x是待求点的x坐标,函数根据插值多项式返回对应的y坐标。代码如下: float CTestView::Lagrange(float x, int n, float x1[], float y1[]) { float y=0;//存放函数值 int k=0;//控制变量,求lagrange基函数的值

文档评论(0)

kunpengchaoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档