数值计算方法实验报告new.doc

上传人:bao****ty 文档编号:144708463 上传时间:2020-09-13 格式:DOC 页数:8 大小:265.66KB
返回 下载 相关 举报
数值计算方法实验报告new.doc_第1页
第1页 / 共8页
数值计算方法实验报告new.doc_第2页
第2页 / 共8页
数值计算方法实验报告new.doc_第3页
第3页 / 共8页
数值计算方法实验报告new.doc_第4页
第4页 / 共8页
数值计算方法实验报告new.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数值计算方法实验报告new.doc》由会员分享,可在线阅读,更多相关《数值计算方法实验报告new.doc(8页珍藏版)》请在金锄头文库上搜索。

1、数值计算方法实验报告 实验类别: 数 值 计 算 方 法 专 业: 班 级: 学 号: 姓 名: XX大学XX学院实验一、高斯列主元消去法【实验类型】 设计性【实验学时】 2学时【实验内容】1掌握列主元消去法的基本思路和迭代步骤2并能够利用列主元的高斯消去法解任意阶数的线性方程组;【实验前的预备知识】1计算机基础知识;2熟悉编程基本思想;3熟悉常见数学函数;【实验方法或步骤】1 列主元消去法基本思路设有线性方程组,设是可逆矩阵。列主元消去法的基本思想就是通过列主元的选取将初等行变换作用于方程组的增广矩阵,将其中的变换成一个上三角矩阵,然后求解这个三角形方程组。2 列主元高斯消去法算法描述将方程

2、组用增广矩阵表示。步骤1:消元过程,对(1) 选主元,找使得(2) 如果,则矩阵奇异,程序结束;否则执行(3);(3) 如果,则交换第行与第行对应元素位置, ;(4) 消元,对,计算对,计算步骤 2:回代过程:(1) 若则矩阵奇异,程序结束;否则执行(2);(2) 对,计算 实验内容在课后习题中选择一个求解线性方程组的题编程计算。(例3.2.3 课本P40页)(1)实验程序 使用matlab编程求解列主元消去法列主元函数程序:function RA,RB,n,X=liezhu(A,b)B=A b; n=length(b); RA=rank(A); RB=rank(B);zhica=RB-RA;

3、if zhica0,disp(请注意:因为RA=RB,所以此方程组无解.)returnendif RA=RB if RA=ndisp(请注意:因为RA=RB=n,所以此方程组有唯一解.) X=zeros(n,1); C=zeros(1,n+1); for p= 1:n-1Y,j=max(abs(B(p:n,p); C=B(p,:);B(p,:)= B(j+p-1,:); B(j+p-1,:)=C;for k=p+1:n m= B(k,p)/ B(p,p); B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1);endend b=B(1:n,n+1);A=B(1:n,1:n)

4、; X(n)=b(n)/A(n,n); for q=n-1:-1:1 X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)/A(q,q); endelse disp(请注意:因为RA=RB clear;A=12 -3 3;-18 3 -1;1 1 1;b=15;-15;6; RA,RB,n,X=liezhu(A,b)实验结果运行结果请注意:因为RA=RB=n,所以此方程组有唯一解.RA = 3RB = 3n = 3X = 1.0000 2.0000 3.0000:实验二 最小二乘法【实验类型】 设计性【实验学时】 2学时【实验内容】1. 曲线拟合的最小二乘法的基本思路和拟合步骤

5、2. 能根据给定的函数值表构造出次数不相同的拟合多项式。【实验前的预备知识】 1计算机基础知识;2熟悉编程基本思想;3熟悉常见数学函数;【实验方法或步骤】1 最小二乘法的基本思路 已知数据对,求多项式使得为最小,这就是一个最小二乘问题。2 最小二乘法算法描述:用线性函数为例,拟合给定数据。步骤1:输入值,及;步骤2:建立正规方程组步骤3:解法方程组,求出系数;步骤4:输出。实验内容 有如下数据,试用二项式逼近这组数据(P133页课后习题5.17)13456789102781011111098实验程序使用matlab进行作图然后进行拟合程序:x= 1 3 4 5 6 7 8 9 10;y= 2

6、7 8 10 11 11 10 9 8;h = polyfit(x,y,2);xt = linspace(min(x), max(x);yt = polyval(h, xt);figure; hold on; box on;plot(xt, yt, k-);plot(x, y, ro);str = sprintf(y = %.6fx2 + %.6fx + %.6f, .h(1), h(2), h(3);title(str, FontWeight, Bold);disp(str) 实验结果matlab拟合的二次曲线图像及二次多项式:故得二次多项式的表达式为:y = -0.267571x2 + 3

7、.605309x + -1.459664 实验三 龙贝格方法【实验类型】 设计性【实验学时】 2学时【实验内容】1.理解龙贝格方法的基本思路2.用龙贝格方法设计算法,编程求解一个数值积分的问题。【实验前的预备知识】 1计算机基础知识;2熟悉编程基本思想;3熟悉常见数学函数;【实验方法或步骤】实验方法1、 龙贝格方法的基本思路 龙贝格方法是在积分区间逐次二分的过程中,通过对梯形之值进行加速处理,从而获得高精度的积分值。2、 龙贝格方法的算法步骤1 准备初值 和,用梯形计算公式计算出积分近似值步骤2 按区间逐次分半计算梯形公式的积分近似值 令, 计算,步骤3 按下面的公式积分(为便于编程,写下列形

8、式)梯形公式: 辛普生公式: 龙贝格公式: 步骤4 精度控制当,(为精度)时,终止计算,并取为近似值,否则,将步长折半,转步骤2。实验内容用龙贝格方法计算积分J=的近似值。(P170页课后习题6.10)实验程序Matlab中的龙贝格主函数程序: function Romberg(a,b,eps) %a,b为区间,eps为精度Rd=0;R=(b-a)/2*(f(a)+f(b);N=0;while abs(Rd-R)epsRd=R;N=N+1; for k=1:2 if k=1 n=N*2; else; n=N; end h=(b-a)/n; for i=1:n+1x(i)=a+(i-1)*h; end C=0; for i=1:n C1=7*f(x(i)+32*f(x(i)+1/4*h)+12*f(x(i)+2/4*h)+32*f(x(i)+3/4*h)+7*f(x(i+1); C=C+C1*h/90; end if k=1 R=C*64/63; else R=R-C/63; end endend fprintf(结果为: %.15f,R);function y=f(x) y=1/x 实验结果在command window中输入 7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

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