线性方程组的迭代解法实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:数值计算方法B
实验项目:线性方程组的迭代解法
实验地点:ZSA401
专业班级:软件学号:******
学生姓名:
指导教师:**
2012年4月5日
线性方程组的迭代解法
一、实验目的和要求
实验目的:使用雅可比迭代法或高斯-赛德尔迭代法对方程组进行求解。 实验要求:选择上述方法中的一种方法求方程组:
的解。
二、实验内容和原理
实验内容:用雅克比迭代法编写求解方程组 :
的根的程序。
实验原理:使用牙科比的迭代公式:X^(k+1)=B 1X ^(k)+f 1 ,用向量的分量表
示为:
Xi^(k+1)=1/aii([bi-a ij X j^(k)]{i=1,2,3,…,n;k=0,1,…}
三、主要仪器设备
使用的计算机:HP ProBook 6450b 、软件环境:Win-TC
四、操作方法与实验步骤
#include "Stdio.h"
#include "math.h"
#define N 3
main()
{
double a[N][N+1],b[N],b1[N];
int i,j;
for(i=0;i { for(j=0;j<=N;j++) { ⎪⎩⎪⎨⎧=+--=-+-=--2.453 .82102.7210321 321321x x x x x x x x x ⎪⎩⎪⎨⎧=+--=-+-=--2.453 .82102.7210321 321321x x x x x x x x x scanf("%lf",&a[i][j]); } } for(i=0;i { scanf("%lf",&b[i]); } do { b1[0]=b[0],b1[1]=b[1],b1[2]=b[2]; b[0]=(a[0][3]-a[0][2]*b[2]-a[0][1]*b[1])/a[0][0]; b[1]=(a[1][3]-a[1][2]*b[2]-a[1][0]*b[0])/a[1][1]; b[2]=(a[2][3]-a[2][1]*b[1]-a[2][1]*b[0])/a[2][2]; for(j=0;j { printf("%lf ",b[j]); } printf("\n"); }while(fabs(b1[0]-b[0])>0.00005&&fabs(b1[1]-b[1])>0.00005&&fabs(b1[2]-b[2])>0.0 0005); getch(); } 五、实验数据记录和处理 六、实验结果与分析 该程序优点为便于理解,操作易于实现。实现了课程设计的算法要求及功能,有很多还