资源描述:
《数值分析课程设计-雅克比迭代、高斯赛德尔迭代、超松弛迭代.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析课程设计求解线性方程组的雅克比迭代法、高斯-赛德尔迭代法和超松弛迭代法的算法实现学院:数学科学学院学号:姓名:hhhhhhhhhh班级:计算0901实验报告一实验目的与要求(实验题目)1.分别利用雅可比迭代法和高斯-塞德尔迭代法求解以下线性方程组使得误差不超过2.用超松弛迭代法求解方程方程组:(=1.1)使得误差不超过二计算公式1.雅可比迭代法其中为初始向量.2.高斯-塞德尔迭代法其中为初始向量.3.超松弛迭代法其中为初始向量.三、实验过程(算法程序)1.雅可比迭代法#include"stdio.h"#include"math.h"#i
2、nclude"string.h"voidmain(){inti,j,k;floatm1=0.0,m2=0.0;floata[3][4]={5,2,1,-12,-1,4,2,20,2,-3,10,3};floatx[3]={0.0,0.0,0.0};for(k=1;k<=10;){for(i=0;i<=2;i++){for(j=0;j
3、}printf("雅可比迭代法计算结果为:");for(i=0;i<=2;i++)printf("x[%2d]=%8.9f",i+1,x[i]);}程序二:#include"stdio.h"#include"math.h"#include"string.h"#definen3voidmain(){inti,j,k;floatm1=0.0,m2=0.0;floata[n][n+1];printf("请输入方程组的增广矩阵:");for(i=0;i4、loatx[n]={0.0,0.0,0.0};for(k=1;k<=10;){for(i=0;i<=n-1;i++){for(j=0;j
5、e#include#definen3voidmain(){inti,j,k=1;floatx[n]={0,0,0},m[n]={0,0,0},s=1;floata[n][n]={5,2,1,-1,4,2,2,-3,10},d[n]={-12,20,3};/*floata[n][n],d[n];printf("请输入方程组系数矩阵");for(i=0;i6、scanf("%f",&d[i]);*/printf("高斯-塞德尔迭代法运算结果为:");for(k=0;fabs(s-x[0])>1e-6;k++){s=x[0];for(i=0;i7、>#includeusingnamespacestd;float*one_array_malloc(intn);//一维数组分配float**two_array_malloc(intm,intn);//二维数组分配floatmatrix_category(float*x,intn);intmain(){constintMAX=100;//最大迭代次数intn,i,j,k;float**a;float*x_0;//初始向量float*x_k;//迭代向量floatprecision;//精度floatw;//松弛因子cout<<"输
8、入精度e:";cin>>precision;cout<>n;a=two_array_malloc(