9512.net
甜梦文库
当前位置:首页 >> 数学 >>

Gauss列主元消去法实验


<数值计算方法>实验报告
1.实验名称 实验 2 2.实验题目 用 Gauss 列主元消去法求解线性方程组。 Gauss 列主元消去法

?0.001x1 ? 2.000 x 2 ? 3.000 x3 ? 1.000 ? ??1.000 x1 ? 3.712 x 2 ? 4.623x3 ? 2.000 ??2.000 x1 ? 1.072 x 2 ? 5.643 x3 ? 3.000 ?

3.实验目的 加深自己对 Gauss 列主元消去法的理解和认识,并且通过做实验 或做练习来加强自己 Gauss 列主元消去法的掌握,学会并灵活运用 Gauss 列主元消去法来求解方程组。
4.基础理论

-------Gauss 列主元消去法
1.Gauss 列主元消去法的基本思想是:在进行第 k(k=1,2,...,n-1)步 消元时,从第 k 列的

akk 及以下的各元素中选取绝对值最大的元素,然 akk 的位置上,再进行消元。 akk (k=1,2,...,n-1)的绝对值很

后通过行变换将它交换到主元素

2.Gauss 列主元消去法的优点:当

小时,用 Gauss 列主元消去法来求解方程组时,可以避免所的数值结果

产生较大误差或失真。

5.实验环境 实验系统:Win 7 实验平台:VisualC++语言 6.实验过程 写出算法→编写程序→计算结果
Gauss 列元消去法的算法 Input: 方 程 组 未 知 量 的 个 数 n; 增 广 矩 阵 A ? (aij ) ? ? A1, A2,..., An ? , 其 中
T

i=1,2,…,n; j=1,2,…,n+1 Output:方程组的解 x1,x2,…,xn,或失败信息。 1. for i ←1ton-1 do;

2. temp←| aii |; 3. 4. 5. 6. 8. 9. 10. 11. 12. 13. p←I; for j←i+1 to n do if

| a ji | >temp

then

p←j; end end if temp=0 |return end if p≠I then then False;

14. 15. end

Ap

? Ai
← a ji

;//i,p 两行交换

//列选主元 16. 17. 18. 19. for j←i+1 to n do

Aj ? m ji * Ai m ji

/ aii

;

Aj ← Aj ? mji * Ai ;//消元
end

7.实验结果
原方程组的解为:

X1=-0.490396 ,

x2=-0.051035 ,

x3=0.367520

8.附录

程序清单

#include<iostream.h> #include"stdio.h" #include"math.h" void main ( )

{

int n=3,i,j,k,p; double

A[10][10]={{0.001,2.000,3.000,1.000},{-1.000,3.712,4.623,2.000},{-2.0 00,1.072,5.643,3.000}},temp,m,x[100]; for(i=0;i<n;i++) { //选主元 temp=fabs(A[i][i]); p=i; for(k=i+1;k<n;k++) if(fabs(A[k][i])>temp) { temp=fabs(A[k][i]); p=k;

} if(temp==0) { printf("\n 无法求解:"); return; } if(p!=i) for(j=0;j<n+1;j++) { temp=A[i][j]; A[i][j]=A[p][j]; A[p][j]=temp;

}

//消元 for(k=i+1;k<n;k++) { m=A[k][i]/A[i][i];

for(j=i+1;j<=n;j++) A[k][j]=A[k][j]-m*A[i][j]; }

} //回代 for(i=n-1;i>=0;i--) { x[i]=A[i][n]; for(j=i+1;j<n;j++) x[i]=x[i]-A[i][j]*x[j]; x[i]=x[i]/A[i][i]; } printf("\nx=\n"); for(i=0;i<n;i++) printf("%f \n",x[i]); }


赞助商链接

更多相关文章:
Matlab程序Gauss列主元消去法
Matlab程序Gauss列主元消去法 - .Gauss 列主元消去法求解线性方程组 ? 6 ? ? 2 ? ?2 ? ?1 2 1 ?2 ? ? x1 ? ? 4 ? ?? ? ? ? 5 0...
高斯列主元消去法实验报告
高斯列主元消去法实验报告 - 《数值计算方法》实验报告 专业: 年级: 学号: 姓名: 成绩: 1. 实验名称 实验 2 高斯列主元消去法 2. :用 Gauss 列主消去法...
数值分析列主元消去法实验报告
实验一【实验内容】 列主元消去法 1.掌握列主元消去法的基本思路和迭代步骤 2.并能够利用列主元的高斯消去法解任意阶数的线性方程组; 3、从课后题中选一题...
数值分析实验,用程序实现列主元消去法解方程组
数值分析实验报告 《数值分析》实验报告实验序号:实验二 学号: 姓名: 任课教师: 专业班级:) 实验名称: 列主元消去法解方程组 1、 实验目的:用列主元 Gauss ...
高斯列主元消去法解线性方程组的实现
高斯列主元消去法解线性方程组的实现_电脑基础知识_IT/计算机_专业资料。实验报告 高斯列主元消去法解线性方程组的实现班级 学号姓名榴莲 一、实验任务采用高斯列...
Gauss列主元消去法程序设计
x2 ? 2 三、实验环境 MATLAB R2014a 四、实验步骤 1.高斯列主元消去法流程图: 开始 输入系数阵 a 和常数项 b 按列选主元 交换元素 计算消元 回代 ...
高斯列主元消去法编程作业——最新编写
高斯列主元消去法编程作业——最新编写_理学_高等教育_教育专区。C语言编写,高斯列主元消去法,计算方法编程作业,计算过程与原理相同,步骤清晰,敬请参考 ...
Gauss消去法
Gauss消去法 - 一、实验题目 用顺序 Gauss 消去法列主元 Gauss 消去法解线性方程组: ?0.3 ? 10 ?15 ? ? 5.291 ? 11.2 ? 1 ? ? 二、 实...
高斯列主元消去法
高斯列主元消去法 - 采用高斯列主元消去法解线性方程组。 matlab... 实现如下所示: 高斯按列主元消去法解线性方程组应用实例: 用高斯按列主元消去法求解下列线性...
数值计算方法实验报告一guass列主元消去法解线性方程组...
a11 ? a 用 Gauss 列主元素消去法解线性方程组 ? 21 ? ? ? ? an1 实验(或算法)原理: 1、主元素消去法是为控制舍入误差而提出的一种算法,在用 Guass ...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图