📄 readme.txt
字号:
LU分解,详细实现参见源码,有详细注释
基本思想:
1.LU分解函数
返回职位是否成功,若矩阵非奇异返回true,否则false,a输入为系数矩阵,返回时为LU矩阵(左下角为响应的变换向量),cpp为变换后各变量位置,n为变量数,eps为精度要求绝对值小于eps的数近似为零。初始化变量位置的向量后,选择输入矩阵当前列的最大值,需要的化就交换最大值所在行与当前行。
2.求解Ax=b函数
a输入为系数矩阵,返回时为LU矩阵(左下角为响应的变换向量),cpp为变换后各变量位置,n为变量数,eps为精度要求,绝对值小于eps的数近似为零。首先重排常列数,从矩阵的最后一行开始到第一行回溯计算常列数,按x1--x2的顺序重排解向量,并把结果存入变量b中
测试用例如下:
10*10的系数矩阵:
3 95 -65 16 -100 -98 -84 56 64 -94
-6 -40 97 -93 -95 -51 39 -80 -1 49
-90 7 -23 70 -84 83 -76 97 13 -21
-92 44 92 -17 72 -80 -34 -25 -6 25
-4 -47 59 -5 47 -11 83 -89 26 -12
-2 13 89 -46 -37 -81 93 -95 85 85
28 78 -70 18 -76 56 72 -25 19 -25
-85 -92 21 -88 -2 -94 -27 -57 81 18
-93 -81 1 60 56 -60 -14 41 100 -85
22 -100 82 96 -88 80 92 -53 -61 -10
常数列:
26 33 25 -84 14 -12 -27 -59 -38 41
结果:
1.40622 0.0228003 1.40482 -0.461762 -0.0522342 1.19803 -0.992326 0.064427 1.17275 -0.728513
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -