计算方法之用追赶法求线性方程组
2013-06-11 12:57
363 查看
/************************************* * 用追赶法求线性方程组 * * |- -| |- -| |- -| * | 2 -1 | | x1 | | 3 | * |-1 3 -2 | | x2 | | 1 | * | -2 4 -2 |*| x3 | = | 0 | * | -2 5 | | x4 | | -5 | * |- -| |- -| |- -| * **************************************/ #include<stdio.h> #include<math.h> #include<conio.h> #include<string.h> #include<stdlib.h> #define n 5 int main() { float a = { 0, 0, -1, -2, -2 }; float b = { 0, 2, 3, 4, 5 }; float c = { 0, -1, -2, -2, 0 }; float d = { 0, 3, 1, 0, -5 }; float x = { 0, 0, 0, 0, 0 }; float r = { 0, 0, 0, 0, 0 }; float y = { 0, 0, 0, 0, 0 }; float q; int k; r[1] = c[1] / b[1]; y[1] = d[1] / b[1]; for (k = 2; k < n - 1; k++) { q = b[k] - r[k - 1] * a[k]; r[k] = c[k] / q; y[k] = (d[k] - y[k - 1] * a[k]) / q; } y[n - 1] = (d[n - 1] - y[n - 2] * a[n - 1]) / (b[n - 1] - r[n - 2] * a[n - 1]); x[n - 1] = y[n - 1]; for (k = n - 2; k >= 1; k--) x[k] = y[k] - r[k] * x[k + 1]; for (k = 1; k < n; k++) printf("x[%d] = %f\n", k, x[k]); return 0; }
相关文章推荐
- 计算方法之用追赶法求线性方程组
- 数值计算-线性方程组求解(2)-追赶法解三对角矩阵-MATLAB实现
- 计算方法之追赶法
- 计算方法-全主元高斯消元法解线性方程组(Matlab)
- 【计算方法笔记】列高斯消元法解线性方程组
- 【计算方法笔记】矩阵分解求解线性方程组
- 计算方法:高斯-若当主元消去法解线性方程组
- 计算方法之用高斯列主元消去法求线性方程组
- 计算方法:矩阵三角分解法解线性方程组
- 计算方法之用高斯列主元消去法求线性方程组
- 计算方法Gauss-Jordan消去法求线性方程组的解
- 计算方法 -- 解线性方程组直接法(LU分解、列主元高斯消元、追赶法)
- 计算方法列主元素消去法求线性方程组的解
- 计算方法之用雅克比法求线性方程组
- 计算方法总体选主元素消去法求线性方程组的解
- 计算方法之用雅克比法求线性方程组
- opencv图像相似度的计算方法
- 样本间相似度/距离计算方法总结
- 异步 FIFO 最小深度计算方法及原理分析(转补)
- Haar-like矩形特征的特征值的快速计算方法