资源描述:
《雅可比迭代法和高斯-塞德尔迭代法求解线性方程组.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告内容一实验目的与要求(实验题目)1.分别利用雅可比迭代法和高斯-塞德尔迭代法求解以下线性方程组使得误差不超过2.用不动点迭代法求方程的实根:二模型建立(相关主要计算公式)1.雅可比迭代法其中为初始向量.2.高斯-塞德尔迭代法3.不动点迭代法•三、实验过程、步骤(程序)1.雅可比迭代法#include"stdio.h"#include"math.h"#include"string.h"main(){inti,j,k;floatm1=0.0,m2=0.0;floata[3][4]={8,-3,2,20,4,11,-1,33,6,3,12,36}
2、;floatx[3]={0.0,0.0,0.0};for(k=1;k<=10;){for(i=0;i<=2;i++){for(j=0;j
3、h>#include#definen3voidmain(){inti,j,k=1;floatx[n]={0,0,0},m[n]={0,0,0},s=1;floata[n][n]={8,-3,2,4,11,-1,6,3,12},d[n]={20,33,36};printf("高斯-塞德尔迭代法运算结果为:");for(k=0;fabs(s-x[0])>1e-6;k++){s=x[0];for(i=0;i4、i]+a[i][i]x[i];x[i]=m[i]/a[i][i];}printf("Y1=%fY2=%fY3=%f",x[0],x[1],x[2]);}getchar();}3.#include#includedoublef(doublex){returnxxx+2xx+10x-20;}doublefdx(doublex){return3xx+18.4x+16.7;}intmain(){intt1=0,t2=1;doublex[2],ep=1e-8;x[0]=0;do{t1=1-t1;t2=1-t2;x[t1]
5、=x[t2]-f(x[t2])/fdx(x[t2]);}while(fabs(x[t1]-x[t2])>ep);printf("解得x=%lf",x[t1]);return0;}四.实验结果:1.雅可比迭代法:2.高斯-塞德尔迭代法:.3.不动点迭代法:五.实验小结通过这次上机,学会了用Jacobis迭代法,高斯-塞德尔迭代法求解线性方程组,算法程序比较复杂,特别是要多次使用数组条件及for循环语句。还有不动点迭代法解方程的根,对这几种迭代方法有了更好的理解,并能通过编程和调试实现算法,完成了实验内容,收获很大。