实验一 解线性方程组的直接法(1)

实验一 解线性方程组的直接法(1)

ID:6404323

大小:250.50 KB

页数:16页

时间:2018-01-12

实验一 解线性方程组的直接法(1)_第1页
实验一 解线性方程组的直接法(1)_第2页
实验一 解线性方程组的直接法(1)_第3页
实验一 解线性方程组的直接法(1)_第4页
实验一 解线性方程组的直接法(1)_第5页
资源描述:

《实验一 解线性方程组的直接法(1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告课程名称数值分析实验项目解线性方程组的直接法专业班级姓名学号指导教师成绩日期月日一.实验目的1、掌握程序的录入和matlab的使用和操作;2、了解影响线性方程组解的精度的因素——方法与问题的性态。3、学会Matlab提供的“”的求解线性方程组。二.实验要求1、按照题目要求完成实验内容;2、写出相应的Matlab程序;3、给出实验结果(可以用表格展示实验结果);4、分析和讨论实验结果并提出可能的优化实验。5、写出实验报告。三.实验步骤1、用分解及列主元高斯消去法解线性方程组a),输出中系数分解的

2、矩阵和,解向量和;用列主元法的行交换次序解向量和求;比较两种方法所得结果。2、用列主高斯消元法解线性方程组。(1)、(2)、分别输出,解向量,(1)中的条件数。分析比较(1)、(2)的计算结果3、线性方程组的和分别为,则解.用MATLAB内部函数求和的所有特征值和.若令,求解,输出向量和,从理论结果和实际计算两方面分析线性方程组解的相对误差以及的相对误差的关系。4、希尔伯特矩阵,其中,(1)分别对计算,分析条件数作为的函数如何变化。(2)令,计算,然后用高斯消去法解线性方程组求出,计算剩余向量以及。分析

3、当增加时解分量的有效位数如何随变化,它与条件数有何关系?当多大时连一位有效数字也没有了?将每种情形的两个结果进行表格对比,如:n=6时:GAUSS列主消去法求得的的有效数字四、实验结果五、讨论分析(对上述算例的计算结果进行比较分析,主要说清matlab的算符与消去法的适用范围不同,自己补充)六、改进实验建议(自己补充)1.列主元的高斯消去法利用列主元的高斯消去法matlab程序源代码:首先建立一个gaussMethod.m的文件,用来实现列主元的消去方法。functionx=gaussMethod(A,

4、b)%高斯列主元消去法,要求系数矩阵非奇异的,%n=size(A,1);ifabs(det(A))<=1e-8error('系数矩阵是奇异的');return;end%fork=1:nak=max(abs(A(k:n,k)));index=find(A(:,k)==ak);iflength(index)==0index=find(A(:,k)==-ak);end%交换列主元temp=A(index,:);A(index,:)=A(k,:);A(k,:)=temp;temp=b(index);b(inde

5、x)=b(k);b(k)=temp;%消元过程fori=k+1:nm=A(i,k)/A(k,k);%消除列元素A(i,k+1:n)=A(i,k+1:n)-mA(k,k+1:n);b(i)=b(i)-mb(k);endend%回代过程x(n)=b(n)/A(n,n);fork=n-1:-1:1;x(k)=(b(k)-A(k,k+1:n)x(k+1:n)')/A(k,k);endx=x';end然后调用gaussMethod函数,来实现列主元的高斯消去法。在命令框中输入下列命令:输出结果如下:利用LU分解法

6、及matlab程序源代码:function[L,U]=myLU(A)%实现对矩阵A的LU分解,L为下三角矩阵A[n,n]=size(A);L=zeros(n,n);U=zeros(n,n);fori=1:nL(i,i)=1;endfork=1:nforj=k:nU(k,j)=A(k,j)-sum(L(k,1:k-1).U(1:k-1,j)');endfori=k+1:nL(i,k)=(A(i,k)-sum(L(i,1:k-1).U(1:k-1,k)'))/U(k,k);endend在命令框中输入下列命令

7、:>>a=[10-701;-32.09999962;5-15-1;2102]a=10.0000-7.000001.0000-3.00002.10006.00002.00005.0000-1.00005.0000-1.00002.00001.000002.0000>>[l,u]=lu(a)l=1.0000000-0.3000-0.00001.000000.50001.0000000.20000.9600-0.80001.0000u=10.0000-7.000001.000002.50005.0000-1.

8、5000006.00002.30000005.0800>>b=[85.90000151]'b=8.00005.90005.00001.0000>>y=lby=8.00001.00008.30005.0800>>x1=Uxx1=0.0000-1.00001.00001.0000>>det1=det(a)det1=-762.00012、(1)在MATLAB窗口:>>A=[3.016.031.99;1.274.16-1.23;0.987-4.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。