太原理工大学数值计算实验报告讲解

上传人:我** 文档编号:114383587 上传时间:2019-11-11 格式:DOC 页数:17 大小:646.50KB
返回 下载 相关 举报
太原理工大学数值计算实验报告讲解_第1页
第1页 / 共17页
太原理工大学数值计算实验报告讲解_第2页
第2页 / 共17页
太原理工大学数值计算实验报告讲解_第3页
第3页 / 共17页
太原理工大学数值计算实验报告讲解_第4页
第4页 / 共17页
太原理工大学数值计算实验报告讲解_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《太原理工大学数值计算实验报告讲解》由会员分享,可在线阅读,更多相关《太原理工大学数值计算实验报告讲解(17页珍藏版)》请在金锄头文库上搜索。

1、本科实验报告课程名称: 计算机数值方法 实验项目: 方程求根,线性方程组的直接求解, 线性方程组的迭代求解,代数插值和最小二乘法拟合 实验地点: 软件楼208 专业班级: 学号: 学生姓名: 指导教师: 李志 崔冬华 2015年6 月 5 日学生姓名实验成绩实验名称 实验一 方程求根实验内容和要求(必填)目的:数值计算方法是一门实践性和实用性都很强的课程,学习的目的在于应用已有的理论基础和技术方法,实现对实际计算问题的计算机求解。本实验配合计算数值方法课堂教学,通过上机实践实验环节,巩固课堂和书本上所学的知识、加强实践能力、提高解决实际计算问题的水平、启发创新思想。其基本目的是:(1) 培养理

2、论联系实际的思路,训练综合运用已经学过的理论和实际知识去分析和解决实际问题的能力。(2) 帮助学生全面消化已学的相关课程内容,深刻理解计算数值方法课程的内涵,培养使用电子计算机进行科学计算和解决问题的能力。(3) 进行基本技能训练和巩固。使学生得到选择算法、编写程序、分析数值结果、写数值试验报告、课堂讨论等环节的综合训练。要求:(1) 应用结构化程序设计编出通用程序,源程序要有详细的注释和说明;(2) 比较计算结果,分析数值解误差的原因;(3) 实验完成,要求提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。实验原理(必填)选择上述方法中的两种方法求方

3、程:f(x)=x3+4x2-10=0在1,2内的一个实根,且要求满足精度|x*-xn|a; float t, x; x=a; do x=sqrt(10-x*x*x)/4); t=a; a=x; while(fabs(a-t)0.5*1e-5); printf(x=%f,a); system(pause);割线法: #include stdafx.h#includestdio.h#includemath.h#includeiostreamusing namespace std;float main() float c,a=1.0,b=2.0; /cinab; while(1) c=b-(b*b*

4、b+4*b*b-10)*(b-a)/(b*b*b+4*b*b-(a*a*a+4*a*a); if(fabs(b-c)0.5*0.000001) break; b=c; coutc;实验结果和分析 实验结果:迭代法:割线法:心得体会(遇到的问题和解决方法)使用不同的方法,可以不同程度的求得方程的解,不同的方法速度不同。实验名称 实验二 线性方程组的直接求解实验内容和要求(1)了解线性方程组常见的直接解法,如Guass消元法、LU分解法、追赶法。(2)加深对线性方程组求解方法的认识,掌握算法。(3)会进行误差分析,并能对不同方法进行比较。实验原理合理利用Gauss消元法、LU分解法或追赶法求解下列

5、方程组: 1 、2、3、4、(n=5,10,100,)主要仪器设备台式或笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页) Gauss消元法:#include stdafx.h#includestdio.h#includeiostreamusing namespace std; float main() float a34=1,2,3,14,0,1,2,8,2,4,1,13; float x3; float sum=0; int k,i,j; for(k=0;k2;k+) for(i=k+1;i3;i+) for(j=k+1;j4;j+)aij=aij-aik/akk*

6、akj; for(i=0;i3;i+) for(j=0;j4;j+) printf(a%d%d=%f,i,j,aij); cout=0;k-) sum=0; for(j=k+1;j3;j+) sum+=akj*xj; xk=(ak3-sum)/akk; for(i=0;i3;i+)printf (x%d=%f,i+1,xi); LU分解法:#include stdafx.h#include #include #define L 30 double a L L , b L , l L L , u L L , x L , y L ; int main() int n, i, j, k, r; sc

7、anf( %d, &n ); for ( i = 1; i = n; +i ) for ( j = 1; j = n; +j ) scanf( %lf, &a i j ); for ( i = 1; i = n; +i ) scanf( %lf, &b i ); for ( i = 1; i = n; +i ) for ( j = 1; j = n; +j ) l i j =0; u i j = 0.0; for ( k = 1; k = n; +k ) for ( j = k; j = n; +j ) u k j = a k j ; for ( r = 1; r k; +r ) u k j

8、-= l k r * u r j ; for ( i = k + 1; i = n; +i ) l i k = a i k ; for ( r = 1; r k; +r ) l i k -= l i r * u r k ; l i k /= u k k ; l k k = 1.0; for ( i = 1; i = n; +i ) y i = b i ; for ( j = 1; j 0; -i ) x i = y i ; for ( j = i + 1; j = n; +j ) x i -= u i j * x j ; x i /= u i i ; for ( i = 1; i = n; +i ) printf( %0.2lfn, x i );

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号