有时候我们需要用到一些基本的数值算法,比如高斯插值、切比雪夫多项式、傅立叶级数……有些算法Matlab并没有现成的函数,但这些算法已非常成熟,自己重新编程调试有点重复劳动。
还好有学者已帮我们完成了这个工作,《MATLAB语言常用算法程序集(龚纯 王正林)》这本书中有Matlab常用的算法,每个算法都是以独立M文件的格式给出的,可直接调用,下面是算法目录。
第4章:插值
求已知数据点的拉格朗日插值多项式
Language
求已知数据点的艾特肯插值多项式
Atken
求已知数据点的均差形式的牛顿插值多项式
Newton
求已知数据点的前向牛顿差分插值多项式
Newtonforward
求已知数据点的后向牛顿差分插值多项式
Newtonback
求已知数据点的高斯插值多项式
Gauss
求已知数据点的埃尔米特插值多项式
Hermite
求已知数据点的分段三次埃尔米特插值多项式及其插值点处的值
SubHermite
求已知数据点的二次样条插值多项式及其插值点处的值
SecSample
求已知数据点的第一类三次样条插值多项式及其插值点处的值
ThrSample1
求已知数据点的第二类三次样条插值多项式及其插值点处的值
ThrSample2
求已知数据点的第三类三次样条插值多项式及其插值点处的值
ThrSample3
求已知数据点的第一类B样条的插值
BSample
用倒差商算法求已知数据点的有理分式形式的插值分式
DCS
用Neville算法求已知数据点的有理分式形式的插值分式
Neville
用倒差商算法求已知数据点的有理分式形式的插值分式
FCZ
用双线性插值求已知点的插值
DL
用二元三点拉格朗日插值求已知点的插值
DTL
用分片双三次埃尔米特插值求插值点的z坐标
DH
第5章:函数逼近
用切比雪夫多项式逼近已知函数
Chebyshev
用勒让德多项式逼近已知函数
Legendre
用帕德形式的有理分式逼近已知函数
Pade
用列梅兹算法确定函数的最佳一致逼近多项式
lmz
求已知函数的最佳平方逼近多项式
ZJPF
用傅立叶级数逼近已知的连续周期函数
FZZ
离散周期数据点的傅立叶逼近
DFF
用自适应分段线性法逼近已知函数
SmartBJ
用自适应样条逼近(第一类)已知函数
SmartBJ
离散试验数据点的多项式曲线拟合
multifit
离散试验数据点的线性最小二乘拟合
LZXEC
离散试验数据点的正交多项式最小二乘拟合
ZJZXEC
第6章:矩阵特征值计算
通过求矩阵特征多项式的根来求其特征值
Chapoly
幂法求矩阵的主特征值及主特征向量
pmethod
瑞利商加速幂法求对称矩阵的主特征值及主特征向量
rpmethod
收缩法求矩阵全部特征值
spmethod
收缩法求矩阵全部特征值
ipmethod
位移逆幂法求矩阵离某个常数最近的特征值及其对应的特征向量
dimethod
QR基本算法求矩阵全部特征值
qrtz
海森伯格QR算法求矩阵全部特征值
hessqrtz
瑞利商位移QR算法求矩阵全部特征值
rqrtz
第7章:数值微分
中点公式求取导数
MidPoint
三点法求函数的导数
ThreePoint
五点法求函数的导数
FivePoint
三次样条法求函数的导数
DiffBSample
自适应法求函数的导数
SmartDF
辛普森数值微分法求函数的导数
CISimpson
理查森外推算法求函数的导数
Richason
三点法求函数的二阶导数
ThreePoint2
四点法求函数的二阶导数
FourPoint2
五点法求函数的二阶导数
FivePoint2
三次样条法求函数的二阶导数
Diff2BSample
第8章:数值积分
复合梯形公式求积分
CombineTraprl
用辛普森系列公式求积分
IntSimpson
用牛顿-科茨系列公式求积分
NewtonCotes
用高斯公式求积分
IntGauss
用高斯拉道公式求积分
IntGaussLada
用高斯—洛巴托公式求积分
IntGaussLobato
用三次样条插值求积分
IntSample
用抛物插值求积分
IntPWC
用高斯-拉盖尔公式求积分
IntGaussLager
用高斯-埃尔米特公式求积分
IntGaussHermite
求第一类切比雪夫积分
IntQBXF1
求第二类切比雪夫积分
IntQBXF2
用梯形公式求重积分
DblTraprl
用辛普森公式求重积分
DblSimpson
用高斯公式求重积分
IntDBGauss
第9章:方程求根
贝努利法求按模最大实根
BenvliMAX
贝努利法求按模最小实根
BenvliMIN
用二分法求方程的一个根
HalfInterval
用黄金分割法求方程的一个根
hj
用不动点迭代法求方程的一个根
StablePoint
用艾肯特加速的不动点迭代法求方程的一个根
AtkenStablePoint
用史蒂芬森加速的不动点迭代法求方程的一个根
StevenStablePoint
用一般弦截法求方程的一个根
Secant
用单点弦截法求方程的一个根
SinleSecant
用双点弦截法求方程的一个根
DblSecant
用平行弦截法求方程的一个根
PallSecant
用改进弦截法求方程的一个根
ModifSecant
用史蒂芬森法求方程的一个根
StevenSecant
用劈因子法求方程的一个二次因子
PYZ
用抛物线法求方程的一个根
Parabola
用钱伯斯法求方程的一个根
QBS
用牛顿法求方程的一个根
NewtonRoot
用简化牛顿法求方程的一个根
SimpleNewton
用牛顿下山法求方程的一个根
NewtonDown
逐次压缩牛顿法求多项式的全部实根
YSNewton
用联合法1求方程的一个根
Union1
用两步迭代法求方程的一个根
TwoStep
用蒙特卡洛法求方程的一个根
Montecarlo
求存在重根的方程的一个重根
MultiRoot
第10章:非线性方程组求解
用不动点迭代法求非线性方程组的一个根
mulStablePoint
用牛顿法法求非线性方程组的一个根
mulNewton
用离散牛顿法法求非线性方程组的一个根
mulDiscNewton
用牛顿-雅可比迭代法求非线性方程组的一个根
mulMix
用牛顿-SOR迭代法求非线性方程组的一个根
mulNewtonSOR
用牛顿下山法求非线性方程组的一个根
mulDNewton
用两点割线法的第一种形式求非线性方程组的一个根
mulGXF1
用两点割线法的第二种形式求非线性方程组的一个根
mulGXF2
用拟牛顿法求非线性方程组的一组解
mulVNewton
用对称秩1算法求非线性方程组的一个根
mulRank1
用D-F-P算法求非线性方程组的一组解
mulDFP
用B-F-S算法求非线性方程组的一个根
mulBFS
用数值延拓法求非线性方程组的一组解
mulNumYT
用参数微分法中的欧拉法求非线性方程组的一组解
DiffParam1
用参数微分法中的中点积分法求非线性方程组的一组解
DiffParam2
用最速下降法求非线性方程组的一组解
mulFastDown
用高斯牛顿法求非线性方程组的一组解
mulGSND
用共轭梯度法求非线性方程组的一组解
mulConj
用阻尼最小二乘法求非线性方程组的一组解
mulDamp
第11章:解线性方程组的直接法
求上三角系数矩阵的线性方程组Ax=b的解
SolveUpTriangle
高斯顺序消去法求线性方程组Ax=b的解
GaussXQByOrder
高斯按列主元消去法求线性方程组Ax=b的解
GaussXQLineMain
高斯全主元消去法求线性方程组Ax=b的解
GaussXQAllMain
高斯-若当消去法求线性方程组Ax=b的解
GaussJordanXQ
克劳特分解法求线性方程组Ax=b的解
Crout
多利特勒分解法求线性方程组Ax=b的解
Doolittle
LL分解法求线性方程组Ax=b的解
SymPos1
LDL分解法求线性方程组Ax=b的解
SymPos2
改进的LDL分解法求线性方程组Ax=b的解
SymPos3
追赶法求线性方程组Ax=b的解
followup
加边求逆法求线性方程组Ax=b的解
InvAddSide
叶尔索夫求逆法求线性方程组Ax=b的解
Yesf
QR分解法求线性方程组Ax=b的解
qrxq
第12章:解线性方程组的迭代法
里查森迭代法求线性方程组Ax=b的解
rs
里查森参数迭代法求线性方程组Ax=b的解
crs
里查森迭代法求线性方程组Ax=b的解
grs
雅可比迭代法求线性方程组Ax=b的解
jacobi
高斯-赛德尔迭代法求线性方程组Ax=b的解
gauseidel
超松弛迭代法求线性方程组Ax=b的解
SOR
对称逐次超松弛迭代法求线性方程组Ax=b的解
SSOR
雅可比超松弛迭代法求线性方程组Ax=b的解
JOR
两步迭代法求线性方程组Ax=b的解
twostep
最速下降法求线性方程组Ax=b的解
fastdown
共轭梯度法求线性方程组Ax=b的解
conjgrad
预处理共轭梯度法求线性方程组Ax=b的解
preconjgrad
块雅克比迭代法求线性方程组Ax=b的解
BJ
块高斯-赛德尔迭代法求线性方程组Ax=b的解
BGS
块逐次超松弛迭代法求线性方程组Ax=b的解
BSOR
第13章:随机数生成
用平方取中法产生随机数列
PFQZ
用混合同余法产生随机数列
MixMOD
用乘同余法1产生随机数列
MulMOD1
用乘同余法2产生随机数列
MulMOD2
用素数模同余法产生随机数列
PrimeMOD
产生指数分布的随机数列
PowerDist
产生拉普拉斯分布的随机数列
LaplaceDist
产生瑞利分布的随机数列
RelayDist
产生柯西分布的随机数列
CauthyDist
产生爱尔朗分布的随机数列
AELDist
产生正态分布的随机数列
GaussDist
产生韦伯西分布的随机数列
WBDist
产生泊松分布的随机数列
PoisonDist
产生贝努里分布的随机数列
BenuliDist
产生贝努里-高斯分布的随机数列
BGDist
产生二项式分布的随机数列
TwoDist
第14章:特殊函数计算
用逼近法计算伽玛函数的值
gamafun
用Lanczos算法计算伽玛函数的自然对数值
lngama
用伽玛函数计算贝塔函数的值
Beta
用逼近法计算不完全伽玛函数的值
gamap
用逼近法计算不完全贝塔函数的值
betap
用逼近法计算伽玛函数的值
bessel
用逼近法计算第二类整数阶贝塞尔函数值
bessel2
用逼近法计算变型的第一类整数阶贝塞尔函数值
besselm
用逼近法计算变型的第二类整数阶贝塞尔函数值
besselm2
用高斯积分计算误差函数值
ErrFunc
用高斯积分计算正弦积分值
SIx
用高斯积分计算余弦积分值
CIx
用高斯积分计算指数积分值
EIx
用逼近法计算指数积分值
EIx2
用高斯积分计算第一类椭圆积分值
Ellipint1
用高斯积分计算第二类椭圆积分值
Ellipint2
第15章:常微分方程的初值问题
用欧拉法求一阶常微分方程的数值解
DEEuler
用隐式欧拉法求一阶常微分方程的数值解
DEimpEuler
用改进欧拉法求一阶常微分方程的数值解
DEModifEuler
用中点法求一阶常微分方程的数值解
DELGKT2_mid
用休恩法求一阶常微分方程的数值解
DELGKT2_suen
用休恩三阶法求一阶常微分方程的数值解
DELGKT3_suen
用库塔三阶法求一阶常微分方程的数值解
DELGKT3_kuta
用经典龙格-库塔法求一阶常微分方程的数值解
DELGKT4_lungkuta
用基尔法求一阶常微分方程的数值解
DELGKT4_jer
用变形龙格-库塔法求一阶常微分方程的数值解
DELGKT4_qt
用罗赛布诺克半隐式法求一阶常微分方程的数值解
DELSBRK
用默森单步法求一阶常微分方程的数值解
DEMS
用米尔恩法求一阶常微分方程的数值解
DEMiren
用亚当斯法求一阶常微分方程的数值解
DEYDS
用中点-梯形预测校正法求一阶常微分方程的数值解
DEYCJZ_mid
用阿达姆斯预测校正法求一阶常微分方程的数值解
DEYCJZ_adms
用密伦预测校正法求一阶常微分方程的数值解
DEYCJZ_adms2
用亚当斯预测校正法求一阶常微分方程的数值解
DEYCJZ_ yds
用修正的亚当斯预测校正法求一阶常微分方程的数值解
DEYCJZ_ myds
用汉明预测校正法求一阶常微分方程的数值解
DEYCJZ_hm
用外推法求一阶常微分方程的数值解
DEWT
用格拉格外推法求一阶常微分方程的数值解
DEWT_glg
第16章:偏微分方程的数值解法
用五点差分格式解拉普拉斯方程
peEllip5
用工字型差分格式解拉普拉斯方程
peEllip5m
用迎风格式解对流方程
peHypbYF
用拉克斯-弗里德里希斯格式解对流方程
peHypbLax
用拉克斯-温德洛夫格式解对流方程
peHypbLaxW
用比姆-沃明格式解对流方程
peHypbBW
用Richtmyer多步格式解对流方程
peHypbRich
用拉克斯-温德洛夫多步格式解对流方程
peHypbMLW
用MacCormack多步格式解对流方程
peHypbMC
用拉克斯-弗里德里希斯格式解二维对流方程的初值问题
peHypb2LF
用拉克斯-弗里德里希斯格式解二维对流方程的初值问题
peHypb2FL
用显式格式解扩散方程的初值问题
peParabExp
用跳点格式解扩散方程的初值问题
peParabTD
用隐式格式解扩散方程的初边值问题
peParabImp
用克拉克-尼科尔森格式解扩散方程的初边值问题
peParabKN
用加权隐式格式解扩散方程的初边值问题
peParabWegImp
用指数型格式解对流扩散方程的初值问题
peDKExp
用萨马尔斯基格式解对流扩散方程的初值问题
peDKSam
第17章:数据统计和分析
用线性回归法估计一个因变量与多个自变量之间的线性关系
MultiLineReg
用多项式回归法估计一个因变量与一个自变量之间的多项式关系
PolyReg
用二次完全式回归法估计一个因变量与两个自变量之间的关系
CompPoly2Reg
用最短距离算法的系统聚类对样本进行聚类
CollectAnaly
用Fisher两类判别法对样本进行分类
DistgshAnalysis
对样本进行主成分分析
MainAnalysis
(END)
1你一定要知道的十款主流画图软件
2发表SCI论文有哪些实用工具?
3最值得学习的Matlab参考书有哪些?
5最常用的10个Matlab快捷键
6数学建模竞赛前必须熟练掌握的十个算法
7半夜看小说伤眼睛怎么办?
8放学快走,你的电脑在实验室自己喊啪嗒!
9买西瓜的高级玩法,用好你的智能手机
回复“热门”查看更多信息