《数值计算课程设计说明书--典型数值算法的C++语言程序设计.docx》由会员分享,可在线阅读,更多相关《数值计算课程设计说明书--典型数值算法的C++语言程序设计.docx(54页珍藏版)》请在优知文库上搜索。
1、数值计算课程设计说明书题目:典型数值算法的C+语言程序设计1、课程设计的内容和要求(包括原始数据、技术要求、工作要求等):每人需作10个算法的程序、必做6题、自选4题。对每个算法要求用C+语言进行编程。必选题:1、高斯列主元法解线性方程组2、牛顿法解非线性方程组3、经典四阶龙格库塔法解一阶微分方程组4、三次样条插值算法(压紧样条)用C+语言进行编程计算依据计算结果,用MatIab画图并观察三次样条插值效果。5、龙贝格求积分算法6、M次多项式曲线拟合,据计算结果,用Matlab画图并观察拟合效果。自选题:自选4道其他数值算法题目.每道题目重选次数不得超过5次.2、对课程设计成果的要求(包括图表、
2、实物等硬件要求):2.1 提交课程设计报告按照算法要求,应用C+语言设计和开发算法程序,提交由:每个算法说明;与算法相应的程序设计说明(程序中的主要变量语义说明,变量的数据类型,数据在内存中组织和存储结构说明,各函数模块的主要流程图,函数功能说明,函数的形参说明,函数的调用方法说明);程序调试与实例运行记录(包括程序调试和修改记录、测试结论、运行结果记录),每个算法的源程序代码编入附录构成的课程设计报告。2.2 课程设计报告版式要求目录的要求:居中打印目录二字,(四号黑体,段后1行),字间空一字符;章、节、小节及其开始页码(字体均为小四号宋体)。节向右缩进两个字符,小节及以后标题均向右缩进四个
3、字符。目录中应包含正文部分每个算法章节标题、设计体总结、无序号的“参考文献资料”,目录的最后一项是“附录”正文的要求:算法说明论述清楚,公式符号撰写规范,流程图图符规范,计算正确,文字简练通顺,插图简洁规范,书写整洁。文中图、表按制图要求绘制,程序调试和运行情况记录详实。打印版面要求:A4纸,页边距:上2cm,下2cm,左2.5cm、右2cm;字体:正文宋体、小四号;行距:固定值20;页眉1.5cm,页脚1.75cm;页码位于页脚居中打印;奇数页页眉“数值计算课程设计”,偶数页页眉”具体算法名称”,页眉宋体小5号;段落及层次要求:每节标题以四号黑体左起打印(段前段后各0.5行),节下为小节,以
4、小四号黑体左起打印(段前段后各0.5行)。换行后以小四号宋体打印正文。章、节、小节编号分别以1、1.1、1.1.1格式依次标出,空一字符后接各部分的标题。每一章的标题都应出现在本章首页的第一行上。当课程设计报告结构复杂,小节以下的标题,左起顶格书写,编号依次用(1)、(2)或1)、2)顺序表示。字体为小四号宋体。对条文内容采用分行并叙时,其编号用(a)(b)或a)、b)顺序表示,如果编号及其后内容新起一个段落,则编号前空两个中文字符。曲线图表要求:所有曲线、图表、线路图、流程图、程序框图、示意图等不准徒手画,必须按国家规定标准或工程要求绘制(应采用计算机绘图)。课程设计说明书(报告)中图表、公
5、式要求如下:(a)图:图的名称采用中文,中文字体为五号宋体,图名在图片下面。引用图应在图题右上角标出文献来源。图号以章为单位顺序编号。格式为:图1,空一字符后接图名,比如第1章第5个图是关于高斯列主元法解方程组算法图,图的下方的图号图名应为:图15高斯列主元法解方程组算法图。(b)表格:表的名称及表内文字采用中文,中文字体为五号宋体,表名在表格上面。表号以章为单位顺序编号,表内必须按规定的符号标注单位。格式为:表Ll,空一字符后按表格名称。(c)公式:公式书写应在文中另起一行,居中排列。公式序号按章顺序编号。字体为五号宋体,序号靠页面右侧。格式为:(Ll)o设计体会及今后的改进意见:设计总结要
6、写出算法理解,编程经验等技术性、学术性总结;体会要简洁、真实、深刻,切忌空话、大话,客套话和矫揉造作之词。改进意见要合理、中肯。参考文献的要求:另起一页,居中打印参考文献四字(四号黑体,段前段后1行),字间空一字符;另起一行,按论文中参考文献出现的先后顺序用阿拉伯数字连续编号(参考文献应在正文中注出);参考文献中每条项目应齐全(字体均为小四号宋体)。(格式:编号作者,论文或著作名称.期刊名或出版社.出版时间)。(期刊应注明第几期、起止页数(包括论著)。参考文献中条目要符合科技文献引用文献条目书写的国家标准规范。2.3设计报告装订顺序与规范封面数值计算课程设计任务书目录数值计算课程设计报告正文设
7、计体会及今后的改进意见参考文献(无需加目录序号)附录(无需加目录序号)左边缘装订3、课程设计工作进度计划:时间设计任务及要求第19周编写和调试程序并按要求撰写设计报告1高斯列主元法解线性方程组11.1高斯列主元法解线性方程组算法思想11. 2高斯列主元法解线性方程组流程图11.3 高斯列主元法解线性方程组运行结果22牛顿法解非线性方程组31.4 牛顿法解非线性方程组算法思想31.5 牛顿法解非线性方程组流程图42. 3牛顿法解非线性方程组运行结果52.4牛顿法解非线性方程组手工计算63经典四阶龙格库塔法解一阶微分方程73.1 经典四阶龙格库塔法解一阶微分方程算法思想73.2 经典四阶龙格库塔法
8、解一阶微分方程流程图103.3 经典四阶龙格库塔法解一阶微分方程运行结果114三次样条插值算法124.1 三次样条插值算法算法思想124.2 三次样条插值算法流程图134.3 2三次样条插值运行结果134.3三次样条插值MATLAB画图145龙贝格求积分算法155.1龙贝格求积分算法思想155.2龙贝格求积分算法流程图165.3龙贝格求积分算法运行结果176M次多项式拟合186.1 M次多项式拟合算法思想186.2 M次多项式拟合流程图186.3 3M次多项式拟合运行结果196.4 M次多项式拟合MATLAB画图196.5 M次多项式拟合运行手工计算207最小二乘法进行线性拟合217.1 最小
9、二乘法进行线性拟合算法思想217.2 最小二乘法进行线性拟合流程图217.3 2最小二乘法进行线性拟合运行结果227. 3最小二乘法进行线性拟合手工计算228波尔查诺二分法解方程237.1 波尔查诺二分法解方程算法思想237.2 波尔查诺二分法解方程的流程图248. 3波尔查诺二分法解方程的运行结果249. 4波尔查诺二分法解方程的手工计算259LU分解法解线性方程269.1 LU分解法解线性方程的算法思想269.2 LU分解法解线性方程的流程图279.3 LU分解法解线性方程的运行结果279.4 LU分解法解线性方程的手工计算2810霍纳方法求多项式2910.1霍纳方法求多项式的算法思想29
10、10.2霍纳方法求多项式的流程图3010.3霍纳方法求多项式的运行结果3010.4霍纳方法求多项式的手工计算30设计体会及今后的改进意见31参考文献32附录331高斯列主元法解线性方程组源代码332牛顿法解非线性方程组353经典四阶龙格库塔法解一阶微分方程组源代码385三次样条差值(MATLAB画图)代码416龙贝格求积分源代码427M次多项式拟合源代码448最小二乘法进行线性拟合源代码469波尔查诺二分法解方程源代码4710LU分解法解线性方程源代码4811霍纳方法求多项式源代码501高斯列主元法解线性方程组问题提出:求解线性方程组x1+2x2+x3+4x4=132xl+Ox2+4x3+3x
11、4=284x1+2x2+2x3+x4=20-3x1+x2+3x3+2x4=61.1 高斯列主元法解线性方程组算法思想1)将线性方程组写成增广矩阵的形式;2)对增广矩阵进行行变换,对元素为,在第i列中及以下的元素选取绝对值最大的元素,将所有元素中最大的所在的行与第i行交换,然后采用高斯消元法使得新得到的为第i行以下的元素均为零。一直重复上述过程直到从而得到上三角矩阵。3)对上三角矩阵进行回代求解,即可以得到方程组的解。1.2 高斯列主元法解线性方程组流程图Start输入增广矩阵高斯列主元法变换为上三角矩阵图1-1高斯列主元法流程图1.3高斯列主元法解线性方程组运行结果图1-2高斯列主元法程序运行
12、界面图2牛顿法解三曲届程组问题提出:求解非线性方程组0=f9y)=2-2x-y+0.50=f2(x9y)=x2+4y2-4设初值(Po,%)=(1.2,1.2),用牛顿法计算(1,夕),(2,%),(小,%)。2.1牛顿法解非线性方程组算法思想前提:设已知1)计算函数F(P)=f(Pk4)(2-1)2)计算雅可比矩阵、a、三工(P人,/)f(Pkk(一、xy(2-2)JW=A;客人(04)7人3,%)xoy3)求线性方程组J(K)Ap=F(E)(2-3)的解。4)计算下一点(2.4)1=+P重复上述过程,直到达到要求的精度,停止计算。2.2牛顿法解非线性方程组流程图图2T牛顿法解非线性方程组流
13、程图2.3牛顿法解非线性方程组运行结果D:实验附件DebugniJI611D:实睑附件DebugciII向1第3次迭代开始向量函数的因受量向量是:3.09372e-0053.75674e-005雅可比矩阵是:1.80138-13.801382.4897开始计算雅可比矩阵的逆矩阵:1.80138-1103.801382.4897011.80138-110-1.21603e-0074.59996-2.11021.80138-2.23648e-0080.54124-1.21603e-0074.59996-2.11021-1.24153e-0080.3004610.1-1.21603e-0071-0.
14、4587560.雅可比矩阵的逆矩阵:0.3004610.120681-0.4587560.217393近似解向量:1.900680.311219nr图2-2牛顿法解非线性方程组程序运行图2.4牛顿法解非线性方程组手工计算求解非线性方程组O=fi(x9yy)=X2-2x-y+0.5O=启x,y)=/+4y24设初值(PO,%)=(1.2,1.2),用牛顿法计算(PlM),E,%),(3,%)。函数向量和雅克比矩阵为尸(,y)=-2x-y+0.5X2+4y2-4,J(,y)=2x-2-I-2xSy(2-5)在点(2.00,0.25)处的函数值为尸(2.00,0.25)=0.250.25,(2.00,0.25)=-2.0-1.04.02.0(2-6)由牛顿法可得出下面的线性方程组2.0-1.0P0.25解得p=P-0