├── FRD.m ├── Jacobi和Gauss_Seidel迭代法的预处理.pdf ├── New_2points.m ├── New_3points.m ├── New_npoints.m ├── Nonlinear_Equations ├── BFS.m ├── README.md ├── nbroyden1.m ├── nbroyden2.m ├── niudun.m ├── pre_seidel.m └── xzniudun.m ├── README.md ├── Runge.m ├── diagonal_maximization.m ├── f_simpson.m ├── f_trapezoid.m ├── fenduan_linear.m ├── gauss_hermite.m ├── gauss_laguerre.m ├── gauss_legendre2.m ├── jacobian_iteration.m ├── jm_f_trapezoid.m ├── lagra_2points.m ├── lagra_3points.m ├── larga_npoints.m ├── newton_cotes.m ├── nonlinear_fitting.m ├── overdetermined_linear.m ├── pre_relaxation.m ├── pre_seidel.m ├── relaxation_iteration.m ├── romberg_js.m ├── seidel_iteration.m ├── simpson.m ├── trapezoid.m ├── weiyijie.m ├── wujie.m ├── wuqiongjie.m ├── 龙格现象1.fig ├── 龙格现象2.fig └── 龙格现象3.fig /FRD.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/FRD.m -------------------------------------------------------------------------------- /Jacobi和Gauss_Seidel迭代法的预处理.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Jacobi和Gauss_Seidel迭代法的预处理.pdf -------------------------------------------------------------------------------- /New_2points.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/New_2points.m -------------------------------------------------------------------------------- /New_3points.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/New_3points.m -------------------------------------------------------------------------------- /New_npoints.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/New_npoints.m -------------------------------------------------------------------------------- /Nonlinear_Equations/BFS.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/BFS.m -------------------------------------------------------------------------------- /Nonlinear_Equations/README.md: -------------------------------------------------------------------------------- 1 | # Nonlinear Equations Solutions 2 | 3 | Contents: Various common and useful iterative methods for solving nonlinear equations 4 | 5 | # Time:2019.05.05 6 | The solution methods of the nonlinear equations. The programs are in the **Nonlinear_Equations** folder. 7 | - Original Newton method + pre-Gauss-Seidel iteration —— **niudun.m** and **pre_seidel.m** 8 | - Modified Newton method —— **xzniudun.m** 9 | - Quasi-Newton Method(single rank inverse Broyden Ⅰ) —— **nbroyden1.m** 10 | - Quasi-Newton Method(single rank inverse Broyden Ⅱ) —— **nbroyden2.m** 11 | - Quasi-Newton Method(rank-two BFS) —— **BFS.m** 12 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/4e2d6a45aa67 13 | 14 | --- 15 | 16 | # 非线性方程组的求解 17 | 18 | 内容:各种常见且好用的非线性方程组迭代求解方法。 19 | 20 | # 时间:2019.05.05 21 | 22 | 更新1:非线性方法组的求解方法,使用了5种最好用最实用的牛顿法和拟牛顿法 23 | - 原始牛顿法(文件名:niudun.m),辅助求解线性方法组的万能高斯-赛德尔迭代函数(文件名:pre_seidel.m); 24 | - 修正牛顿法(文件名:xzniudun.m); 25 | - 拟牛顿法_逆Broyden秩1法(文件名:nbroyden1.m); 26 | - 拟牛顿法_逆Broyden秩1第二方法(文件名:nbroyden2.m); 27 | - 拟牛顿法_BFS秩2法(文件名:BFS.m); 28 | - [相关说明参考这里](https://www.jianshu.com/p/4e2d6a45aa67) 29 | -------------------------------------------------------------------------------- /Nonlinear_Equations/nbroyden1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/nbroyden1.m -------------------------------------------------------------------------------- /Nonlinear_Equations/nbroyden2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/nbroyden2.m -------------------------------------------------------------------------------- /Nonlinear_Equations/niudun.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/niudun.m -------------------------------------------------------------------------------- /Nonlinear_Equations/pre_seidel.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/pre_seidel.m -------------------------------------------------------------------------------- /Nonlinear_Equations/xzniudun.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Nonlinear_Equations/xzniudun.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NumFunc 2 | 3 | Contents: Numerical analysis toolbox and iterative solution toolbox for linear/nonlinear equations 4 | 5 | # Time: 2019.04.06 6 | **Update1**: Programs about some common **interpolation** and **fitting** 7 | - Lagrange interpolation: 2-points, 3-points, n-points; Runge's phenomenon —— **lagra_2points.m**, **largra_3points.m**, **lagra_npoints.m** and **Runge.m** 8 | - Newton interpolation: 2-points, 3-points, n-points —— **New_2points.m**, **New_3points.m** and **New_npoints.m** 9 | - Piecewise-linear Lagrangian interpolation —— **fenduan_linear.m** 10 | - Unary nonlinear fitting —— **nonlinear_fitting.m** 11 | - More detailed interpretation about Interpolation: https://www.jianshu.com/p/add2e938271c 12 | - More detailed interpretation about Fitting: https://www.jianshu.com/p/41caace02f39 13 | 14 | # Time:2019.04.07 15 | **Update2**: Programs about **Numerical intergration** 16 | - Lagrangian quadrature(basic): Trapezoidal formula, Simpson formula, Newton-Coates formula —— **trapezoid.m**, **simpson.m** and **newton_cotes.m** 17 | - Lagrangian quadrature(intermediate): Composite trapezoid formula, Composite Simpson formula —— **f_trapezoid.m** and **f_simpson.m** 18 | - Lagrangian quadrature(advanced): Composite trapezoidal encryption formula, Romberg quadrature formula —— **jm_f_trapezoid.m** and **romberg_js.m** 19 | - Gauss quadrature: Gauss-Legendre, Gauss-Laguerre, Gauss-Hermite —— **gauss_legendre2.m**, **gauss_laguerre.m**, **gauss_hermite.m** 20 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/c6fdfe11e6bc 21 | 22 | # Time:2019.04.15 23 | **Update3**:Programs about iterative solution for linear equations 24 | - Original iteration methods: Jacobi iteration, Gauss-Seidel iteration, super-relaxation iteration —— **jacobian_iteration.m**, **seidel_iteration.m**, **relaxation_iteration.m** 25 | - Universal iteration method after preprocessing(**Recommand**!):pre-Gauss-Seidel iteration, pre-super-relaxation iteration —— **pre_seidel.m**, **pre_relaxation.m** 26 | - Matrix diagonal maximization preprocessing: This is not a panacea, but it can improve the convergence probability of iterative methods! —— **diagonal_maximization.m** 27 | - Reference: *Jacobi和Gauss-Seidel迭代法的预处理* 28 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/e14d9e910984 29 | 30 | # Time:2019.04.16 31 | **Update4**: Using the least square approximate solution to solve overdetermined incompatible linear equations 32 | - The least square approximation —— **overdetermined_linear.m** 33 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/3d8abb3ba7d3 34 | 35 | # Time:2019.04.27 36 | **Update5**: Using generalized plus inverse matrix to solve linear equations 37 | - The full-rank decomposition of any matrix —— **FRD.M** 38 | - The linear equation has no solution(Condition1): using the **generalized plus inverse** to find ***all least squares solutions** and **unique minimal-norm least squares solution** —— **wujie.m** 39 | - The linear equation has infinite solutions(Condition2): using the **generalized plus inverse** to find **general solutions** and **unique minimal-norm solution** —— **wuqiongjie.m** 40 | - The linear equation has only one solution(Condition3): using the **generalized plus inverse** to find out the unique solution —— **weiyijie.m** 41 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/8777e5d11a03 42 | 43 | # Time:2019.05.05 44 | **Update6**: The solution methods of the nonlinear equations. The programs are in the **Nonlinear_Equations** folder. 45 | - Original Newton method + pre-Gauss-Seidel iteration —— **niudun.m** and **pre_seidel.m** 46 | - Modified Newton method —— **xzniudun.m** 47 | - Quasi-Newton Method(single rank inverse Broyden Ⅰ) —— **nbroyden1.m** 48 | - Quasi-Newton Method(single rank inverse Broyden Ⅱ) —— **nbroyden2.m** 49 | - Quasi-Newton Method(rank-two BFS) —— **BFS.m** 50 | - You can see more detailed interpretation from my blog: https://www.jianshu.com/p/4e2d6a45aa67 51 | 52 | --- 53 | 54 | # 数值分析和方程求解 55 | 56 | 内容:数值分析相关程序包括插值、拟合、数值积分;方程求解包括线性方程组迭代求解、非线性方程(组)求解、常微分方程数值解 57 | 58 | # 时间:2019.04.06 59 | 60 | 更新1:多项式插值相关程序;最小二乘一元非线性拟合程序。 61 | 62 | - 拉格朗日插值:2点、3点、n点拉格朗日插值、龙格现象(文件名:lagra_2points.m、largra_3points.m、lagra_npoints.m、Runge.m); 63 | - 牛顿插值:2点、3点、n点牛顿插值(文件名:New_2points.m、New_3points.m、New_npoints.m); 64 | - 分段线性拉格朗日插值(文件名:fenduan_linear.m); 65 | - 一元非线性拟合(文件名:nonlinear_fitting.m)。 66 | - [插值说明参考这里](https://www.jianshu.com/p/add2e938271c);[拟合说明参考这里](https://www.jianshu.com/p/41caace02f39) 67 | 68 | # 时间:2019.04.07 69 | 70 | 更新2:数值积分相关程序。 71 | 72 | - 拉格朗日型积分(基础款):梯形公式、辛普森公式、牛顿-科茨公式(文件名:trapezoid.m、simpson.m、newton_cotes.m); 73 | - 拉格朗日型积分(进阶款):复化梯形公式、复化辛普森公式(文件名:f_trapezoid.m、f_simpson.m); 74 | - 拉格朗日型积分(高级款):复化梯形加密公式、龙贝格公式(文件名:jm_f_trapezoid.m、romberg_js.m); 75 | - 高斯型积分公式:高斯-勒让德、高斯-拉盖尔、高斯-埃尔米特;包括插值节点和系数的求取,以及实例(文件名:gauss_legendre2.m、gauss_laguerre.m、gauss_hermite.m)。 76 | - [相关说明参考这里](https://www.jianshu.com/p/c6fdfe11e6bc) 77 | 78 | # 时间:2019.04.15 79 | 80 | 更新3:线性方程组迭代求解相关程序。 81 | 82 | - **未预处理**原始迭代方法:雅克比迭代、高斯-赛德尔迭代、(超)松弛迭代(文件名:jacobian_iteration.m、seidel_iteration.m、relaxation_iteration.m); 83 | - **预处理**后**万能**迭代方法(**推荐√**):预处理后万能高斯-赛德尔迭代、预处理后万能(超)松弛迭代(文件名:pre_seidel.m、pre_relaxation.m)。 84 | - **对角最大化预处理**:非万能,但还是可以提高迭代收敛的几率,值得参考(文件名: diagonal_maximization.m) 85 | - 预处理参考文献:《Jacobi和Gauss-Seidel迭代法的预处理》 86 | - [相关说明参考这里](https://www.jianshu.com/p/e14d9e910984) 87 | 88 | # 时间:2019.04.16 89 | 90 | 更新4:超定不相容线性方程组最小二乘近似解 91 | 92 | - 最小二乘法近似求解(文件名:overdetermined_linear.m); 93 | - [相关说明参考这里](https://www.jianshu.com/p/3d8abb3ba7d3) 94 | 95 | # 时间:2019.04.27 96 | 97 | 更新5:广义加号逆矩阵求解线性方程组 98 | 99 | - 任意矩阵的满秩分解(文件名:FRD.m); 100 | - 线性方程组无解:广义加号逆求**全部**最小二乘解和**唯一极小范数**最小二乘解(文件名:wujie.m); 101 | - 线性方程组无穷解:广义加号逆求**通解**和**唯一极小范数解**(文件名:wuqiongjie.m); 102 | - 线性方程组唯一解:广义加号逆求唯一解(文件名:weiyijie.m); 103 | - [相关说明参考这里](https://www.jianshu.com/p/8777e5d11a03) 104 | 105 | # 时间:2019.05.05 106 | 107 | 更新6:非线性方法组的求解方法,详见文件夹Nonlinear_Equations 108 | - 原始牛顿法(文件名:niudun.m),辅助求解线性方法组的万能高斯-赛德尔迭代函数(pre_seidel.m); 109 | - 修正牛顿法(文件名:xzniudun.m); 110 | - 拟牛顿法_逆Broyden秩1法(nbroyden1.m); 111 | - 拟牛顿法_逆Broyden秩1第二方法(nbroyden2.m); 112 | - 拟牛顿法_BFS秩2法(BFS.m); 113 | - [相关说明参考这里](https://www.jianshu.com/p/4e2d6a45aa67) 114 | -------------------------------------------------------------------------------- /Runge.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/Runge.m -------------------------------------------------------------------------------- /diagonal_maximization.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/diagonal_maximization.m -------------------------------------------------------------------------------- /f_simpson.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/f_simpson.m -------------------------------------------------------------------------------- /f_trapezoid.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/f_trapezoid.m -------------------------------------------------------------------------------- /fenduan_linear.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/fenduan_linear.m -------------------------------------------------------------------------------- /gauss_hermite.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/gauss_hermite.m -------------------------------------------------------------------------------- /gauss_laguerre.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/gauss_laguerre.m -------------------------------------------------------------------------------- /gauss_legendre2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/gauss_legendre2.m -------------------------------------------------------------------------------- /jacobian_iteration.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/jacobian_iteration.m -------------------------------------------------------------------------------- /jm_f_trapezoid.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/jm_f_trapezoid.m -------------------------------------------------------------------------------- /lagra_2points.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/lagra_2points.m -------------------------------------------------------------------------------- /lagra_3points.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/lagra_3points.m -------------------------------------------------------------------------------- /larga_npoints.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/larga_npoints.m -------------------------------------------------------------------------------- /newton_cotes.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/newton_cotes.m -------------------------------------------------------------------------------- /nonlinear_fitting.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/nonlinear_fitting.m -------------------------------------------------------------------------------- /overdetermined_linear.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/overdetermined_linear.m -------------------------------------------------------------------------------- /pre_relaxation.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/pre_relaxation.m -------------------------------------------------------------------------------- /pre_seidel.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/pre_seidel.m -------------------------------------------------------------------------------- /relaxation_iteration.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/relaxation_iteration.m -------------------------------------------------------------------------------- /romberg_js.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/romberg_js.m -------------------------------------------------------------------------------- /seidel_iteration.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/seidel_iteration.m -------------------------------------------------------------------------------- /simpson.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/simpson.m -------------------------------------------------------------------------------- /trapezoid.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/trapezoid.m -------------------------------------------------------------------------------- /weiyijie.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/weiyijie.m -------------------------------------------------------------------------------- /wujie.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/wujie.m -------------------------------------------------------------------------------- /wuqiongjie.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/wuqiongjie.m -------------------------------------------------------------------------------- /龙格现象1.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/龙格现象1.fig -------------------------------------------------------------------------------- /龙格现象2.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/龙格现象2.fig -------------------------------------------------------------------------------- /龙格现象3.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EZ4BYG/Num_Func/d13532200ffce751e4a26ddb3665431be59d298e/龙格现象3.fig --------------------------------------------------------------------------------