- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉大学数学与统计学院
数值分析上机实验报告
物理科学与技术学院
电子科学与技术专业
杨倩
200531510031武汉大学数学与统计学院
数值分析实验报告
学院:物理科学与技术学院 专业:电子科学与技术专业
实验名称 使用matlab编写数值计算程序 指导教师 吴老师 姓名 杨倩 年级 2005 学号 200531510031 辅修 成绩
实验一、用Jacobi迭代法计算迭代次数
一、实验目的:
1、学习使用matlab编写数值计算程序。
2、了解Jacobi迭代法的迭代原理和编程方法。
3、根据Jacobi迭代法的迭代原理编写matlab程序,并运行的出结果。
二、实验原理:
设n阶非奇异矩阵A的主对角元全不为0,记D=diag( )是非奇异对角阵,做A的一个分裂:
。
记。迭代过程式为。
这种迭代方法称为Jacobi迭代法。其迭代矩阵记为:右端向量记为:
= -
记,Jacobi迭代过程为:
对照等号两边,得到计算(i=1,2,…,n)的公式为
,或,i=1,2,…,n
三、实验内容与步骤:
1、实验内容:依照实验原理编写Jacobi迭代法的程序。
2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。
实验程序如下:
程序代码
程序代码说明
function [x,k]=jacobi(A,b);
x=zeros(size(b));
D=diag(diag(A));
B=inv(D)*(D-A);
g=inv(D)*b;
tol=1e-6;
err=2;
k=0;
while(errtol)
x1=B*x+g;
err= max(abs(x1-x));
x=x1;
k=k+1;
end
% use the function。
% 初始化x0。
% D为的主对角元上的值。
% 根据公式。
% 最小精度设为tol。
% 从k=0开始迭代。
% 先要判断是否收敛,如果不收敛,则提示出错。如果收敛,则根据x1 =B*x+g,计算出第一步迭代的值。
% 把x的值放在x1中,k加一继续迭代,直到达到设定的精度为止。
四、实验数据及结果:
1、实验送的初值为:
=[-2 1 0; 1 -2 1 ; 0 1 -2];
b=[-2 0 -3];
2、实验结果为:
X =2.2500
2.5000
2.7500
K = 43
五、实验分析:
1、在本次实验中所输的初值所对应的矩阵为收敛的,所以会产生结果,如果当输入一个
Jacobi矩阵为发散的初值时,则matlab会提示出错。同时也可能会导致死机。
2、在本次实验中,很容易把迭代矩阵中各分量的代码的写错,因为编程技术还不够熟练,
所以在使用数学指令上还不够全面,因此常翻阅书籍找指令代码,这在以后的实验中是
应该加强训练的。
3、通过本次实验也增强了我对matlab这个软件的了解。
实验二、用最小二乘法计算
一、实验目的:
1、学习使用matlab编写数值计算程序。
2、了解最小二乘法的拟合原理和编程方法。
3、根据最小二乘法的拟合原理编写matlab程序,并运行的出结果。
二、实验原理:
设A是阶矩阵,称线性方程组:
(1)
为超定方程组,这里。如果A的秩r(A)=n,称A为列满秩矩阵。记残向量r=b-Ax,考虑确定一个向量x,使
达到最小的问题称为线性最小二乘问题,这样的x称为方程组(1)的最小二乘解。线性最小二乘问题与欧式空间的正交性等有密切联系。
设超定方程组(1)的系数矩阵A是列满秩矩阵,由定理(当mn时,超定方程组(1)的最小二乘解总是存在。最小二乘解惟一的充分必要条件是)知,方程组(1)的最小二乘解总是存在而且惟一的。
设x是最小二乘解,。由定理(当mn时,超定方程组(1)的最小二乘解总是存在。最小二乘解惟一的充分必要条件是),残向量
,
因此, (2)
也就是说。X是方程组(1)的最小二乘解等价于是方程组(2)的解。
方程组(2)称为最小二乘问题的正则方程组或法方程组,由于是列满秩的,因此,方程组(2)是正定方程组。
用正则方程组求最小二乘解的计算步骤为如下:
①形成;
②计算的分解,记;
③求解下三角方程组;
④求解上三角方程组。
三、实验内容与步骤:
1、实验内容:依照实验原理编写最小二乘法的程序。
2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。
实验程序如下:
程序代码
程序代码说明
function c=ercheng(x,y,m)
for i=1:m+1
a(i,:)=x.^(i-1);
end
=a*a;
b
文档评论(0)