1 / 20
文档名称:

数值分析实验报告分析.doc

格式:doc   大小:284KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析实验报告分析.doc

上传人:分享精品 2017/12/30 文件大小:284 KB

下载得到文件列表

数值分析实验报告分析.doc

文档介绍

文档介绍:重庆交通大学
学生实验报告
实验课程名称计算方法
开课实验室数学实验室
学院年级专业班
学生姓名学号
开课时间 2013 至 2014 学年第 1 学期
假设合理




建模求解全面




结果分析完善




文档清晰




综合成绩
教师姓名

目录
实验一列主元消去法 1
实验二高斯-赛德尔迭代法 8
实验三拉格朗日插值法 14
实验一列主元消去法
一、实验目的:
1)掌握列主元消去法的基本思想。
2)了解数值计算解线性方程组的实现范围、计算公式。
3)培养上机编程及调试的能力。
二、实验设备和实验环境
操作系统: Windows XP Professional
软件: C++
三、实验内容及要求:
对于线性方程组,记方程组的系数矩阵为:
, ,
用高斯列主元消元法求解。并用高斯完全主元消去法和列主元消去法进行比较,同时得出高斯列主元消去法的优缺点。
四、算法描述:
1. 消元过程

(1)选主元:
(a)按列选主元,即确定,使得
(b)若,停止计算
(c)若(进行交换)
,
(2)对

(3)

(a)若,输出失败信息,停止计算
(b)
(c)对
注: 在计算程序中对的判断用(是预先设置的很小正数)
四、实验步骤与结果分析
实验源程序
function x=liezhuyuan(A,b) %列主元消去法
% A,b 线性方程的系数矩阵
% x 求解函数向量
n=length(A);
x=zeros(n,1);
c=zeros(1,n);
t=0;
for i=1: n-1
max=abs(A(i,i));
m=i; % 寻找最大主元
for j=i+1:n
if max<abs(A(j,i))
max=abs(A(j,i));
m=j;
end
end
if m~=i % 调换矩阵的两行
for k=1:n
c(k)=A(i,k);
A(i,k)=A(m,k);
A(m,k)=c(k);
end
t=b(i);
b(i)=b(m);
b(m)=t;
end
for k=i+1:n % 消元
for j=i+1:n
A(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i);
end
b(k)=b(k)-b(i)*A(k,i)/A(i,i);
A(k,i)=0;
end
end
x(n)=b(n)/A(n,n);
for i=n-1:-1:1 %迭代求解
sum=0;
for j=i+1:n
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
function x=wanquanxiaoyuan(A,b) %完全消去法
% A,b 线性方程的系数矩阵
% x 求解函数向量
n=length(A);
x=zeros(n,1);
xx=zeros(n,1);
c=zeros(1,n);
t=0;
for i=1:n
xx(i)=i;
end
for i=1:n-1
max=abs(A(i,i));
m1=i; % 横向寻找最大主元
m2=i; % 纵向寻找最大主元
for j=i:n
for k=i:n
if max<abs(A(j,k))
max=abs(A(j,k));
m1=j;
m2=k;
end
end
end
if m1~=i % 调换矩阵的两行
for k=1:n
c(k)=A(i,k);
A(i,k)=A(m1,k);
A(m1,k)=c(k);
end
t=b(i);
b(i)=b(m1);
b(m1)=t;
for q=1:n
if xx(q)==m1 %记录换行的下标
xx(q)=i;
xx(i)=m1;
end
end
end
if m2~=i
for k=1:n
c(k)=A(k,i);
A(k,i)=A(k,m2);
A(k,m2)=c(k);
end
end
for k=i+1:n % 消元
for j=i+1:n
A(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i);
end
b(k)=b(k)-b(i)*A(k,i)/A(i,i