




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科实验报告课程名称: 计算机数值方法 实验项目: (名称) 实验地点: 行勉楼B208 专业班级: 软件1401 学号: 学生姓名: 指导教师: 李 誌 , 崔冬华 2016年 4 月 20 日学生姓名实验成绩实验名称 实验一 方程求根实验内容和要求(必填)熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。选择上述方法中的两种方法求方程:f(x)=x3+4x2-10=0在1,2内的一个实根,且要求满足精度|x*-xn|<0.5×10-5实验原理(必填)二分法: f(x)在区间(x,y)上连续,先找到a、b属于区间(x,y),使f(a),f(b)异号,说明
2、在区间(a,b)内一定有零点,然后求f(a+b)/2, 以此类推,通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值;牛顿迭代法 :xn+1=xn-fxnf'xn主要仪器设备笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页)#include <stdio.h> #include <math.h>double f(double x) double y; y= x*x*x+4*x*x-10; return (y);Void main() double a,b,yl,yr,ym,x1,xr,
3、xm;a=1;b=2; yl=f(a); yr=f(b); while(yl*yr>0) yl=f(a); yr=f(b); xr=a; x1=b; while(fabs(xr-x1)>0.000001) xm=(x1+xr)/2; ym=f(xm); yl=f(x1); yr=f(xr); if(yl*ym<0&&yr*ym>0) xr=xm; else x1=xm; printf("n所求根为x=%fn",xm); return 0;include <stdio.h> #include <math.h>do
4、uble f(double x) return x*x*x+4*x*x-10;double f1(double x) return (3*x*x+10*x);void main() double x,x1,y,y1; printf("请输入一个任意实数:X="); scanf("%lf",&x); printf("所求根为:n"); do x1=x; y=f(x); y1=f1(x1); x=x1-y/y1; while (fabs(x-x1)>=5e-6); printf(" %lfn",x1);实
5、验结果和分析实验中的两种方法都存在不同程度的误差,由于数据进行了小数位数保留加上计算方法导致两种方法计算结果稍有偏差。不同的方法速度不同。心得体会(遇到的问题和解决方法)通过这个实验,学到了fabs()的用法,我掌握了线性方程的一些求根方法。对数值计算方法有了较为清晰的概念。实验名称 实验二 线性方程组的直接求解实验内容和要求合理选择利用Gauss消元法、主元素消元法、LU分解法、追赶法求解下列方程组之一: (n=5,10,100,)实验原理将L1以下中的x消除,然后再讲L2以下的等式中的y消除。这样可使 整个方程组变成一个三角形的格式。然后再将以得出的答案一个个地代入已被简化的等式中的未知数
6、中求出其余的答案。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页)#include <stdio.h> double a1515,a01515;double b15,b015,l15;int n;void displayA() int i,j; printf("n"); for(j=1;j<=n;j+) for(i=1;i<=n;i+) printf("a%d%d=%f ",j,i,aji); printf("b%d=%fn",j,bj); void main() i
7、nt i,j,k; printf("输入 n:"); scanf("%d",&n); printf("输入元素:"); for(i=1;i<=n;i+) for(j=1;j<=n;j+) scanf("%lf",&aij); a0ij=aij; scanf("%lf",&bi); b0i=bi; displayA(); k=1; do for(i=1;i<=n;i+) if(i=k) continue; li=a0ik/a0kk; for (j=k+1;
8、j<=n;j+) akj=a0kj/a0kk; bk=b0k/a0kk; for(i=1;i<=n;i+) if(i=k) continue; for(j=k+1;j<=n;j+) aij=a0ij-li*a0kj; bi=b0i-li*b0k; for(i=1;i<=n;i+) for(j=k+1;j<=n;j+) a0ij=aij; b0i=bi; if(k=n) break; k+; while(1); for(i=1;i<=n;i+)printf("x%d=b%2d=%lfn",i,i,bi);实验结果和分析消元过程相当于分解 A
9、为单位下三角阵L与上三角阵U的乘积,解方程组Ly=b。 回代过程就是解方程组Ux=y。其中的L为n阶单位下三角阵、U为上三角阵.。 在 A 的LU 分解中, L取下三角阵, U 取单位上三角阵,这样求解方程组Ax=d 的方法称为追赶法。但是本实验中的高斯消元法是采用高斯若尔当消元法,即将主元素化为1,并消去对角线上方与下方的元素,它不需要回代即可得方程的解。心得体会(遇到的问题和解决方法)通过本次实验,我深刻理解了直接法在计算机上解线性方程组的有效性,对于Gauss消元法、LU分解法有了更为深刻的认识但是仍然存在或多或少的问题和不足,以及基本概念和知识运用的粗糙。实验名称 实验三 线性方程组的
10、迭代求解实验内容和要求使用雅可比迭代法或高斯-赛德尔迭代法对下列方程组进行求解。实验原理设线性方程组: Ax=b 的系数矩阵A可逆且主对角元素a11, a22, , a33均不为零,令 D = diag (a11, a22, , a33) ,并将A分解成 A=(A-D)+D ,从而线性方程组可写成 Dx=(D-A)x+b则有迭代公式 Xk+1=B1xk+f1其中 , B1 = I D-1A, f1 = D-1b主要仪器设备台式或笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页)#include <stdio.h>#include <math.h>
11、void main() double a33=10,-1,-2,-1,10,-2,-1,-1,5,b3=7.2,8.3,4.2; float x3=0,0,0,sum; int i,j,k,n=3; printf("X1tt X2tt X3n"); for(k=0;k<8;k+) for(i=0;i<3;i+) sum=0; for(j=0;j<n;j+) if(i=j)continue; sum=sum+aij*xj; xi=(bi-sum)/aii; for(i=0;i<n;i+) printf("%ft",xi); prin
12、tf("n"); 实验结果和分析通过本次实验发现,雅克比迭代公式相对而言较为简单,每迭代一次只须计算一次矩阵和向量的乘法,在计算机运算时需要两组存储单元,以存放x(k)及x(k+1)。但利用高斯-赛德尔迭代法所需的迭代次数比雅克比迭代少. 心得体会(遇到的问题和解决方法)通过这次实验掌握了雅克比迭代的一般性解法,对于编程的应用虽然不够熟练,但加深了对于编程的信心和热情.实验名称 实验四 代数插值和最小二乘法拟合实验内容和要求给定数据点(xi ,yi)如下:xi00.50.60.70.80.91.0yi11.751.962.192.442.713.00(1) 使用拉格朗日插值
13、法或牛顿插值法, 求f(0.856)的近似值.(2) 用最小二乘法拟合数据的(n次)多项式,求f(0.856)的近似值.(3) 对比、分析上两结果。实验原理最小二乘法:幂法:由已知的非零向量x0和矩阵A的乘幂构造向量序列xn以计算矩阵A的按模最大特征值及其特征向量的方法,称为幂法。 迭代公式:yk=Axk-1mk=maxyk,k = 1, 2, 3xk=xkmk结果可取:1mk1yk或v1xk代数插值法:设函数在区间a,b上n+1互异节点x0,x1,xn上的函数值分别为y0,y1,yn,求n次插值多项式Pn(x),满足条件:Pn(xj)=yj, j=0,1,n令Lnx=y0l0x+y1l1x+
14、ynlnx=yili(x)其中l0(x),l1(x), ln(x) 为以x0,x1,xn为节点的n次插值基函数,则Ln(x)是一次数不超过n的多项式,且满足 Lnxj=yj L = 0, 1, , n再由插值多项式的唯一性,得 pnxLnx主要仪器设备台式或笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页)#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <malloc.h>void difference(float *x,float *y
15、,int n) float *f; int k,i; f=(float *) malloc (n*sizeof(float); for(k=1;k<=n;k+) f0=yk; for(i=0;i<k;i+)fi+1=(fi-yi)/(xk-xi); yk=fk; return; int main() int i,n=7; float x10=0.0, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, y10=1.00, 1.75, 1.96, 2.19, 2.44, 2.71, 3.00, xx,yy; difference(x,(float *)y,n); printf
16、("所求差值x"); scanf("%f",&xx); yy=y20; for(i=n-1;i>=0;i-)yy=yy*(xx-xi)+yi; printf("n近似值为:F(%f)=%fn",xx,yy); return 0;#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <malloc.h>#define N 7double power(double &a,int n)doub
17、le b=1;for(int i=0;i<n;i+)b*=a;return b;double XN = 0.0, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, YN = 1.00, 1.75, 1.96, 2.19, 2.44, 2.71, 3.00, sumXN,sumYN,aNN,bN,lNN,xN;void main()double s;int i,j,k,n,index;n=7; for(i=0;i<n;i+) sumX1+=Xi; sumY1+=Yi; printf("sumX1=%f",sumX1);printf("sumY1
18、=%f",sumY1);printf("n请输入拟合次数index=");scanf("%d",&index);i=n;sumX0=i;for(i=2;i<=2*index;i+)sumXi=0;for(j=1;j<n;j+)sumXi+=power(Xj,i);printf("sumX%d=%f",i,sumXi);for(i=2;i<=index+1;i+)sumYi=0;for(j=0;j<n;j+)sumYi+=power(Xj,i-1)*Yj;printf("sumY%d=
19、%f",i,sumYi);for(i=1;i<=index+1;i+) for(j=1;j<=index+1;j+)aij=sumXi+j-2;bi=sumYi; k=1; dofor(j=k+1;j<=index+1;j+) ljk=ajk/akk;for(i=k+1;i<=index+1;i+)for(j=k+1;j<=index+1;j+)aij=aij-lik*akj;bi=bi-lik*bk;if(k=index+1) break;k+;while(1);xindex+1=bindex+1/aindex+1index+1;for(i=index;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全服务合同及安全承诺条款说明
- 现代管理学价值观试题及答案
- 行政管理在应急管理中的角色试题及答案
- 建筑企业中标合同范本
- 2025年学校餐饮服务合同简易版样本
- 公文写作实战练习试题及答案
- 建筑材料的质量检验方法试题及答案
- 2025商业银行个人存款(国债)质押借款合同
- 2025大连市建筑材料采购合同书
- 行政管理基础课程的必修知识与试题及答案
- 2025至2030中国转运呼吸机行业应用前景与投资价值评估报告
- 2025-2030中国静脉曲张治疗行业市场发展趋势与前景展望战略研究报告
- ktv陪酒合同协议
- 上海嘉定区2025年公开招聘农村(村务)工作者笔试题带答案分析
- 皮肤科临床诊疗规范2020版
- 保密警示教育典型泄密案例教育学习
- 2025年注册会计师《会计》所得税会计模拟试题解析与答题技巧
- 封隔器加工合同协议
- 《大学生职业生涯规划与就业指导(实践版)》全套教学课件
- 建筑企业财务管理的风险控制与应对策略
- 抗生素合理使用研究试题及答案
评论
0/150
提交评论