/*************************************
* 用雅克比法求线性方程组
*
* 5*x1 + 2*x2 + 1*x3 = -12
*{-1*x1 + 4*x2 + 2*x3 = 20
* 2*x1 - 3*x2 +10*x3 = 3
*
**************************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define N 3
#define kmax 100
#define eps 1e-5
static double aa[N][N] = { { 5, 2, 1 }, { -1, 4, 2 }, { 2, -3, 10 } };
static double bb[N] = { -12, 20, 3 };
int main() {
int k, i, j;
double d, sum, s, norm;
double a[N + 1][N + 1], b[N + 1], x[N + 1], y[N + 1];
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++)
a[i][j] = aa[i - 1][j - 1];
b[i] = bb[i - 1];
}
for (i = 1; i <= N; i++) {
x[i] = 0;
}
k = 0;
do {
k++;
if (k > kmax) {
printf("\nThe iterate failed !\n");
break;
}
norm = 0.0;
for (i = 1; i <= N; i++) {
sum = 0.0;
for (j = 1; j <= N; j++) {
if (j != i)
sum += a[i][j] * x[j];
}
y[i] = (b[i] - sum) / a[i][i];
d = fabs(y[i] - x[i]);
if (norm < d)
norm = d;
}
for (i = 1; i <= N; i++)
x[i] = y[i];
} while (norm >= eps);
if (norm < eps) {
printf("\nThe result is :\n");
printf("\nk = %d \n", k);
for (i = 1; i <= N; i++)
printf("x[%d] = %f\n", i, x[i]);
}
return 0;
}
分享到:
相关推荐
数值方法中用高雅克比法解线性方程组,c++源码。一调试成功。
考虑线性方程组Ax = b时,一般当A为低阶稠密矩阵时,用主元消去法解此方程组是有效方法。但是,对于由工程技术中产生的大型稀疏矩阵方程组,利用迭代法求解此方程组就是合适的,在计算机内存和运算两方面,迭代法...
在MATLAB中使用迭代法求解线性方程中,包含了雅克比法和高斯赛德斯方法。能够实现AX=B,方程组的求解,且需要A为对角占优矩阵。
雅克比法求矩阵特征值特征向量.doc
雅克比法求对称矩阵的特征值(MATLAB程序设计与应用)课设,里面有2份不同的课设,都已近调试过了。要在MATLAB7.0上运行
采用理论求解;霍尔茨法;雅克比法;矩阵迭代;求解100个弹簧100个质量块组成的质量—弹簧系统的无阻尼固有频率,
线性方程组求解GUI,高斯法,G-S法,反幂法,LU分解法,雅可比法)
非线性方程与方程组的求解195 4.1 求非线性方程实根的对分法195 4.2 求非...方法211 4.7 求实系数代数方程全部根的牛顿下山法216 4.8 求复系数代数方程全部根的牛顿下山法225 4.9 求非线性方程组一组实根的梯度法233 ...
求解线性方程组的雅可比方法
属于地震勘探领域,适用于层析成像射线追踪方法研究,介绍了雅克比法射线追踪。
深入整理了雅克比方法求解特征值和特征向量,包括公式推导,最后介绍了opencv中的算法流程和实现。
用雅克比法解方程组,是计算方法课程的实验题之一
数值分析C++源码-二分法,迭代法,牛顿法,高斯消元法,高斯先列主元消元法,高斯全主元消元法,标度化列住院消元法,直接三角分解法,道立特分解法,改进的平方根法,平方根法,雅克比法,高斯赛德尔迭代法,牛顿插值法,拉格朗日...
4.14 求非线性方程组一组实根的蒙特卡洛法 第5章 插值 5.1 插值类设计 5.2 一元全区间不等距插值 5.3 一元全区间等距插值 5,4 一元三点不等距插值 5.5 一元三点等距插值 5.6 连分式不等距插值 5.7 ...
jacob求解实对称矩阵的特征值特征向量c代码
解方程组的迭代法_雅可比法_cpp源代码_数值计算 数值分析实验报告(五) 一. 实验名称: 解方程组的迭代法 二. 实验目的: 雅可比法 三. 题目:(验证用) 准确值为x1 = 1;x2 = 2;x3 = -1;x4 = 1 四. 程序:雅可...
这个程序是用雅可比法求对称矩阵特征值的说
数值计算的8个编程作业程序cpp,牛顿插值、拉格朗日插值、非线性方程求根、矩阵、解线性方程组的迭代法、龙贝格积分、规范化幂法求解矩阵按模最大特征值、雅克比法求解矩阵特征值和特征向量。
矩阵的特征值与特征向量的计算的matlab实现,幂法、反幂法和位移反幂法、雅可比(Jacobi)方法、豪斯霍尔德(Householder)方法、实对称矩阵的三对角化、QR方法、求根位移QR方法计算实对称矩阵 的特征值、广义特征值问题...
4.14 求非线性方程组一组实根的蒙特卡洛法269 第5章 插值与逼近274 5.1 Lagrange插值274 5.2 连分式插值277 5.3 埃尔米特插值281 5.4 埃特金逐步插值284 5.5 光滑插值288 5.6 第一种边界条件的三次样条函数插值、微...