第10章 工程数值计算方法实验指导第10章 工程数值计算方法实验指导.doc

第10章 工程数值计算方法实验指导第10章 工程数值计算方法实验指导.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 工程数值计算方法实验指导第10章 工程数值计算方法实验指导

PAGE  PAGE 22 第10章 工程数值计算方法实验指导 10.1 引言 数值计算主要用于解决工程中常见的基本数学问题,研究其相关的数值解法,包含了线性方程组、非线性方程组的解法,矩阵求逆、数值逼近、数值微积分、常微分方程及偏微分方程的数值解法等。数值计算的基本理论和研究方法建立在数学建模的基础上,与计算机科学密切相关。采用计算机解决这些问题的主要步骤是:分析实际问题、建立数学模型、设计算法、编写程序代码并上机实现。 本章精选前面章节中重点内容组成了7个实验项目,要求学生上机实现各个实验项目并编写实验报告。 实验一 线性方程组的直接解——列主元消去法解线性方程组; 实验二 线性方程组的迭代解——雅可比法、高斯—赛德尔迭代法解线性方程组; 实验三 非线性方程的近似解——二分法、牛顿法求非线性方程的根; 实验四 插值问题——拉格朗日插值、牛顿插值; 实验五 曲线拟合问题——最小二乘法; 实验六 数值积分——复化辛甫生公式; 实验七 求解常微分方程的初值问题——改进欧拉方法、四阶龙格库塔方法。 10.2 实验一 线性方程组的直接解 ——列主元消去法解线性方程组 一、实验目的 掌握列主元消去法解线性方程组的理论。 二、实验环境 PC机一台,C语言、MATLAB任选。 三、实验内容 用Gauss列主元消去法求解方程组。 四、实验原理 Gauss列主元消去法 第一步:消元过程 对于,将进行变换为,其中是上三角矩阵。即 (1) 选列主元 选取第列中绝对值最大元素作为主元。 (2) 换行 (3) 归一化 (4) 消元 第二步:回代过程 由解出。 五、实验步骤 1.要求上机实验前先编写出程序代码; 2.编辑录入程序; 3.调试程序并记录调试过程中出现的问题并修改程序; 4.记录运行时输入数据和输出结果; 5.撰写实验报告。 六、思考题 进一步思考全主元消去法的实现步骤。 七、参考代码 #include stdio.h #include math.h #define n 3 main() { int i,j,k; int mi; float mv,tmp; float a[n][n]={{0.01,2,-0.5},{-1,-0.5,2},{5,-4,0.5}}; float b[n]={-5,5,9},x[n]; for(k=0;kn-1;k++) { mi=k; mv=fabs(a[k][k]); for(i=k+1;in;i++) if(fabs(a[i][k])mv) { mi=i; mv=fabs(a[i][k]); } if(mik) { tmp=b[k]; b[k]=b[mi]; b[mi]=tmp; for(j=k;jn;j++) { tmp=a[k][j]; a[k][j]=a[mi][j]; a[mi][j]=tmp; } } for(i=k+1;in;i++) { tmp=a[i][k]/a[k][k]; b[i]=b[i]-b[k]*tmp; for(j=k+1;jn;j++) a[i][j]=a[i][j]-a[k][j]*tmp; } } x[n-1]=b[n-1]/a[n-1][n-1]; for(i=n-2;i=0;i--) { x[i]=b[i]; for(j=i+1;jn;j++) x[i]=x[i]-a[i][j]*x[j]; x[i]=x[i]/a[i][i]; } printf(\nThe result is:); for(i=0;in;i++) printf(\nx%d=%4.2f,i,x[i]); } 程序运行后,输出结果如下 10.3 实验二 线性方程组的迭代解 ——雅可比迭代法、高斯—赛德尔迭代法解线性方程组 一、实验目的 掌握雅可比迭代法和高斯—赛德尔迭代法求解线性方程组的理论。 二、实验环境 PC机一台,C语言、MATLAB任选。 三、实验内容 分别采用雅可比迭代法、高斯—赛德尔迭代法求解线性方程组。 四、实验原理 1.雅可比迭代法 设方程组的系数矩阵的对角线元素,为迭代次数容许的最大值,为容许误差。 (1) 取初始向量,令。 (2) 对,计算 (3) 如果 并且,则输出方程的解,结束;如果,则说明方程组不收敛,输出方程组无解,终止程序;否则,转(2)。 2.高斯-赛德尔迭代法 (1) 判断线性方程组是否主对角占优,即判断是否满足。 (2) 取初始向量,令

您可能关注的文档

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档