Guass_seidel迭代法
来源:互联网 发布:wmware 怎么安装mac os 编辑:程序博客网 时间:2024/05/29 16:28
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n;
double a[10][10],x[10];
printf("请输入要解的线性方程组的系数矩阵的阶数:\n");
scanf("%d",&n);
printf("请输入扩展矩阵:\n"); //对数组初始化,输入系数
for(int i=0; i<n; i++)
for(int j=0; j<n+1; j++)
scanf("%lf",&a[i][j]);
double sum=0;
int flag=1;
for(int i=0; i<n; i++)
{
sum=0;
for(int j=0; j<n; j++)
sum+=a[i][j];
if(2*a[i][i]<=sum)
{
flag=0;
break;
}
}
if(flag==1)
printf("该线性方程组为主对角占优");
for(int i=0; i<n; i++)
x[i]=0;
do
{
int i;
for(i=0; i<n; i++)
{
sum=0;
for(int j=0; j<n; j++)
sum+=a[i][j]*x[j];
x[i]=x[i]+(a[i][n]-sum)/a[i][i];
}
i--;
if(fabs((a[i][n]-sum)/a[i][i])<=0.000001)
break;
}while(1);
printf("x=(");
for(int i=0; i<n-1; i++)
printf("%lf,",x[i]);
printf("%lf)",x[n-1]);
return 0;
}
/*
3
8 -3 2 20
4 11 -1 33
2 1 4 12
*/
#include<math.h>
#include<stdlib.h>
int main()
{
int n;
double a[10][10],x[10];
printf("请输入要解的线性方程组的系数矩阵的阶数:\n");
scanf("%d",&n);
printf("请输入扩展矩阵:\n"); //对数组初始化,输入系数
for(int i=0; i<n; i++)
for(int j=0; j<n+1; j++)
scanf("%lf",&a[i][j]);
double sum=0;
int flag=1;
for(int i=0; i<n; i++)
{
sum=0;
for(int j=0; j<n; j++)
sum+=a[i][j];
if(2*a[i][i]<=sum)
{
flag=0;
break;
}
}
if(flag==1)
printf("该线性方程组为主对角占优");
for(int i=0; i<n; i++)
x[i]=0;
do
{
int i;
for(i=0; i<n; i++)
{
sum=0;
for(int j=0; j<n; j++)
sum+=a[i][j]*x[j];
x[i]=x[i]+(a[i][n]-sum)/a[i][i];
}
i--;
if(fabs((a[i][n]-sum)/a[i][i])<=0.000001)
break;
}while(1);
printf("x=(");
for(int i=0; i<n-1; i++)
printf("%lf,",x[i]);
printf("%lf)",x[n-1]);
return 0;
}
/*
3
8 -3 2 20
4 11 -1 33
2 1 4 12
*/
0 0
- Guass_seidel迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法
- 迭代法解方程:牛顿迭代法、Jacobi迭代法
- 牛顿迭代法
- 阅读程序Stl
- 101. Symmetric Tree
- 怎么练字才会有效果,多久才能有体现
- mysql数据类型
- TOEFL writing——causative verbs
- Guass_seidel迭代法
- andriod 注解找控件 简单步骤
- uva 10603 Fill
- Scala中的协变,逆变,上界,下界等
- 有哪些适合女生练字的字帖?
- Unity3d中Quaternion.LookRotation使用方法
- C/C++卡布列克运算验证
- socket Client&Server
- 英文如何练字?