# 数值分析 **Repository Path**: wang_xue_hao/numerical_analysis ## Basic Information - **Project Name**: 数值分析 - **Description**: No description available - **Primary Language**: Matlab - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-06-22 - **Last Updated**: 2021-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数值分析 ## 文件说明 1. doolittle_decomposition(杜利特尔分解) 输入一个方阵,输出两个方阵分别是上、下三角矩阵 ```m X=[1,2,3,4;1,4,9,16;1,8,27,64;1,16,81,256]; [L,U]=doolittle_decomposition(X); ``` 2. crout_decomposition(克劳特分解)(有误) ``` X=[2,-1,0,0;-1,2,-1,0;0,-1,2,-1;0,0,-1,2]; [L,U]=crout_decomposition(X) ``` 3. Gauss_Seidel (高斯赛德尔方法) 输入系数矩阵A和输出参数解等号右边的y(列向量) 输出每行n个数,表示每次迭代的答案 n为方程未知数个数。 ```m A=[2,4,0,1;3,8,2,2;1,3,3,0;2,5,2,2]; y=[1,3,6,3]' Gauss_Seidel(A,y); ``` 4. Gaussian_elimination (高斯消元法) 输入同上节 输出n个数,是方程的解 ```m A=[2,4,0,1;3,8,2,2;1,3,3,0;2,5,2,2]; y=[1,3,6,3]' Gaussian_elimination(A,y); ``` 5. Jacobian (雅克比迭代法) 输入输出同第3节 ```m A=[-3,1;1,-2]; y=[5;5]; Jacobian(A,y); ``` 6. SOR(超松弛迭代法) 输入的A和y同上一节,第三个参数为松弛因子 输出同上一节 ``` A=[2,4,0,1;3,8,2,2;1,3,3,0;2,5,2,2]; y=[1,3,6,3]' SOR(A,y,1.4); ``` 7. binary_search (二分法求方程的根) A为从高到低的待求多项式系数,缺失的系数写0样例为$x^3+4*x^2-10=0$ f和l为求解的左、右区间端点 precise为绝对误差限,当$l-f\leq precise$运算结束并输出$(l+f)/2$ ```m A=[1 4 0 -10]; f=1; l=2; precise=0.5e-2; p=binary_search(A,f,l,precise) ``` 8. Lagrange_interpolation(拉格朗日插值) 前两个输入为x和y列表 第三个参数是需要的插值点 屏幕上会打印n个数字表示y1到yn的系数 返回值为插值结果 ```m xArr=[11 12]; yArr=[0.190809 0.207912]; y=Lagrange_interpolation(xArr,yArr,11.5); ``` 9. Newton_ifference_table (牛顿差商表) 输入的xArr和yArr分别为被差商的数据 输出为屏幕上的一个倒三角,表示各阶差商 ```m xArr=[-2 0 1 2]; yArr=[17 1 2 19]; Newton_ifference_table(xArr,yArr);