MATLAB语言常用算法程序集书中4-17章代码,都是一些常用的程序第4章:插值函数名功能Language求已知数据点的拉格朗日插值多项式Atken求已知数据点的艾特肯插值多项式Newton求已知数据点的均差形式的牛顿插值多项式Newtonforward求已知数据点的前向牛顿差分插值多项式Newtonback求已知数据点的后向牛顿差分插值多项式Gauss求已知数据点的高斯插值多项式Hermite求已知数据点的埃尔米特插值多项式SubHermite求已知数据点的分段三次埃尔米特插值多项式及其插值点处的值SecSample求已知数据点的二次样条插值多项式及其插值点处的值ThrSample1求已知数据点的第一类三次样条插值多项式及其插值点处的值ThrSample2求已知数据点的第二类三次样条插值多项式及其插值点处的值ThrSample3求已知数据点的第三类三次样条插值多项式及其插值点处的值BSample求已知数据点的第一类B样条的插值DCS用倒差商算法求已知数据点的有理分式形式的插值分式Neville用Neville算法求已知数据点的有理分式形式的插值分式FCZ用倒差商算法求已知数据点的有理分式形式的插值分式DL用双线性插值求已知点的插值DTL用二元三点拉格朗日插值求已知点的插值DH用分片双三次埃尔米特插值求插值点的z坐标第5章:函数逼近Chebyshev用切比雪夫多项式逼近已知函数Legendre用勒让德多项式逼近已知函数Pade用帕德形式的有理分式逼近已知函数lmz用列梅兹算法确定函数的最佳一致逼近多项式ZJPF求已知函数的最佳平方逼近多项式FZZ用傅立叶级数逼近已知的连续周期函数DFF离散周期数据点的傅立叶逼近SmartBJ用自适应分段线性法逼近已知函数SmartBJ用自适应样条逼近(第一类)已知函数multifit离散试验数据点的多项式曲线拟合LZXEC离散试验数据点的线性最小二乘拟合ZJZXEC离散试验数据点的正交多项式最小二乘拟合第6章:矩阵特征值计算Chapoly通过求矩阵特征多项式的根来求其特征值pmethod幂法求矩阵的主特征值及主特征向量rpmethod瑞利商加速幂法求对称矩阵的主特征值及主特征向量spmethod收缩法求矩阵全部特征值ipmethod收缩法求矩阵全部特征值dimethod位移逆幂法求矩阵离某个常数最近的特征值及其对应的特征向量qrtzQR基本算法求矩阵全部特征值hessqrtz海森伯格QR算法求矩阵全部特征值rqrtz瑞利商位移QR算法求矩阵全部特征值第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逐次压缩牛顿法求多项式的全部实根Union1用联合法1求方程的一个根TwoStep用两步迭代法求方程的一个根Montecarlo用蒙特卡洛法求方程的一个根MultiRoot求存在重根的方程的一个重根第10章:非线性方程组求解mulStablePoint用不动点迭代法求非线性方程组的一个根mulNewton用牛顿法法求非线性方程组的一个根mulDiscNewton用离散牛顿法法求非线性方程组的一个根mulMix用牛顿-雅可比迭代法求非线性方程组的一个根mulNewtonSOR用牛顿-SOR迭代法求非线性方程组的一个根mulDNewton用牛顿下山法求非线性方程组的一个根mulGXF1用两点割线法的第一种形式求非线性方程组的一个根mulGXF2用两点割线法的第二种形式求非线性方程组的一个根mulVNewton用拟牛顿法求非线性方程组的一组解mulRank1用对称秩1算法求非线性方程组的一个根mulDFP用D-F-P算法求非线性方程组的一组解mulBFS用B-F-S算法求非线性方程组的一个根mulNumYT用数值延拓法求非线性方程组的一组解DiffParam1用参数微分法中的欧拉法求非线性方程组的一组解DiffParam2用参数微分法中的中点积分法求非线性方程组的一组解mulFastDown用最速下降法求非线性方程组的一组解mulGSND用高斯牛顿法求非线性方程组的一组解mulConj用共轭梯度法求非线性方程组的一组解mulDamp用阻尼最小二乘法求非线性方程组的一组解第11章:解线性方程组的直接法SolveUpTriangle求上三角系数矩阵的线性方程组Ax=b的解GaussXQByOrder高斯顺序消去法求线性方程组Ax=b的解GaussXQLineMain高斯按列主元消去法求线性方程组Ax=b的解GaussXQAllMain高斯全主元消去法求线性方程组Ax=b的解GaussJordanXQ高斯-若当消去法求线性方程组Ax=b的解Crout克劳特分解法求线性方程组Ax=b的解Doolittle多利特勒分解法求线性方程组Ax=b的解SymPos1LL分解法求线性方程组Ax=b的解SymPos2LDL分解法求线性方程组Ax=b的解SymPos3改进的LDL分解法求线性方程组Ax=b的解followup追赶法求线性方程组Ax=b的解InvAddSide加边求逆法求线性方程组Ax=b的解Yesf叶尔索夫求逆法求线性方程组Ax=b的解qrxqQR分解法求线性方程组Ax=b的解第12章:解线性方程组的迭代法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块逐次超松弛迭代法求线性方程组Ax=b的解第13章:随机数生成PFQZ用平方取中法产生随机数列MixMOD用混合同余法产生随机数列MulMOD1用乘同余法1产生随机数列MulMOD2用乘同余法2产生随机数列PrimeMOD用素数模同余法产生随机数列PowerDist产生指数分布的随机数列LaplaceDist产生拉普拉斯分布的随机数列RelayDist产生瑞利分布的随机数列CauthyDist产生柯西分布的随机数列AELDist产生爱尔朗分布的随机数列GaussDist产生正态分布的随机数列WBDist产生韦伯西分布的随机数列PoisonDist产生泊松分布的随机数列BenuliDist产生贝努里分布的随机数列BGDist产生贝努里-高斯分布的随机数列TwoDist产生二项式分布的随机数列第14章:特殊函数计算gamafun用逼近法计算伽玛函数的值lngama用Lanczos算法计算伽玛函数的自然对数值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用比姆-沃明格式解对流方程peHypbRich用Richtmyer多步格式解对流方程peHypbMLW用拉克斯-温德洛夫多步格式解对流方程peHypbMC用MacCormack多步格式解对流方程peHypb2LF用拉克斯-弗里德里希斯格式解二维对流方程的初值问题peHypb2FL用拉克斯-弗里德里希斯格式解二维对流方程的初值问题peParabExp用显式格式解扩散方程的初值问题peParabTD用跳点格式解扩散方程的初值问题peParabImp用隐式格式解扩散方程的初边值问题peParabKN用克拉克-尼科尔森格式解扩散方程的初边值问题peParabWegImp用加权隐式格式解扩散方程的初边值问题peDKExp用指数型格式解对流扩散方程的初值问题peDKSam用萨马尔斯基格式解对流扩散方程的初值问题第17章:数据统计和分析MultiLineReg用线性回归法估计一个因变量与多个自变量之间的线性关系PolyReg用多项式回归法估计一个因变量与一个自变量之间的多项式关系CompPoly2Reg用二次完全式回归法估计一个因变量与两个自变量之间的关系CollectAnaly用最短距离算法的系统聚类对样本进行聚类DistgshAnalysis用Fisher两类判别法对样本进行分类MainAnalysis对样本进行主成分分析
2025/1/7 19:17:40 113KB matlab 算法 常用程序
1
利用形心计算公式,通过像素值遍历,求出形心
2024/11/13 14:44:03 3.9MB 图像 二值化
1
动态规划用C语言实现最佳加法表达式求最小值,输入整数串和加号个数输出最小值
2024/11/7 6:19:49 29KB 动态规划 最佳加法
1
在vc++6.0+opencv环境下,实现对二值化后的圆心的定位,并显示坐标。
2024/10/1 16:56:15 4.98MB opencv 二值化 圆心中点
1
在实验中,实验和戡测常常会产生大量的数据。
为了解释这些数据或者根据这些数据做出预测、判断,给决策者提供重要的依据。
需要对测量数据进行拟合,寻找一个反映数据变化规律的函数。
数据拟合方法与数据插值方法不同,它所处理的数据量大而且不能保证每一个数据没有误差,所以要求一个函数严格通过每一个数据点是不合理的。
数据拟合方法求拟合函数,插值方法求插值函数。
2024/9/11 15:03:03 105KB 数学 拟合 多种方法
1
压缩吧中包含现代设计中函数单峰区间的求解代码,黄金分割法的代码和二次插值的代码,比较全面。
1
求取图像二值化时阈值的方法,otsu法,也称为大津法,
2024/5/10 3:24:56 320KB otsu
1
/***************深圳市赛亿科技开发有限公司*********************文件名:adc*描述:多通道AD采集(源文件)*实验平台:STM8S105开发板*库版本:V1.0*作者:hcr*QQ:630054913*修改时间:2014-9-20*******************************************************************************/#include"adc.h"u16AdcData_Buff[10];//AD采集缓存u16AdcValue_Channel1;//通道1值u16AdcValue_Channel2;//通道2值u16AdcValue_Channel3;//通道3值floatAdc_V1;//通道1值电压值floatAdc_V2;//通道2值电压值floatAdc_V3;//通道3值电压值/***************************************************************************函数名:Adc_Task(void)*描述:AD不通通道选择*输入:无*输出:无*返回:无*调用:10ms调用*************************************************************************/voidAdc_Task(void){staticu8Adc_Channel=1;staticu8Adc_Timer=0;staticu16Adc_GetValue;switch(Adc_Channel)//通道选择{case1://通道1Adc_GetValue=ADC1_GetConversionValue();//获取ADC转换数AdcData_Buff[Adc_Timer]=Adc_GetValue;//保存采样值if(Adc_Timer8) {Adc_Timer=0;//复位 Temp_Choose();//冒泡法求中间值AdcValue_Channel1=AdcData_Buff[5];//取中间值Adc_V1=(3.28*AdcValue_Channel1)/1023;//算出实际电压AdcData_Clean();//清除缓存数据Adc_Channel=2;//另一通道AdcChannel_Start(ADC1_CHANNEL_2);//ADC,通道2启动 }break;case2://通道2
2024/4/17 19:02:08 312KB stm8s AD多通道采集
1
采用C++开发的复矩阵数学库,含复数类CMyComplex、矩阵类CMatrix、修正贝塞尔函数类等,可进行各种复数和复矩阵运算,具体包括:实矩阵求逆的全选主元高斯-约当法、复矩阵求逆的全选主元高斯-约当法、对称正定矩阵的求逆、托伯利兹矩阵求逆的埃兰特方法、求行列式值的全选主元高斯消去法求矩阵秩的全选主元高斯消去法、对称正定矩阵的乔里斯基分解与行列式的求值、矩阵的三角分解、一般实矩阵的QR分解、一般实矩阵的奇异值分解、求广义逆的奇异值分解法、约化对称矩阵为对称三对角阵的豪斯荷尔德变换法、实对称三对角阵的全部特征值与特征向量的计算、约化一般实矩阵为赫申伯格矩阵的初等相似变换法、求赫申伯格矩阵全部特征值的QR方法、求实对称矩阵特征值与特征向量的雅可比法、求实对称矩阵特征值与特征向量的雅可比过关法等,内容十分丰富完善。
2024/2/5 6:06:28 6.39MB C++复数矩阵 数学库 Complex Matrix
1
本帖代码和教程有Matlab技术论坛原创,原帖参见http://www.matlabsky.com/viewthread.php?tid=3885一、数值积分基本公式数值求积基本通用公式如下Eqn1.gif(1.63KB)2009-11-2023:23xk:求积节点Ak:求积系数,与f(x)无关数值积分要做的就是确定上式中的节点xk和系数Ak。
可以证明当求积系数Ak全为正时,上述数值积分计算过程是稳定。
二、插值型数值积分公式对f(x)给定的n+1个节点进行Lagrange多项式插值,故Eqn2.gif(2.95KB)2009-11-2023:23即求积系数为Eqn3.gif(3.29KB)2009-11-2023:23三、牛顿-柯特斯数值积分公式当求积节点在[a,b]等间距分布时,插值型积分公式(先使用Lagrange对节点进行多项式插值,再计算求积系数,最后求积分值)称为Newton-Cotes积分公式。
由于Newton-Cotes积分是通过Lagrange多项式插值变化而来的,我们都知道高次多项式插值会出现Runge振荡现象,因此会导致高阶Newton-Cotes公式不稳定。
Newton-Cotes积分公式的求积系数为Eqn4.gif(3.38KB)2009-11-2023:28其中C(k,n)称为柯特斯系数。
(1)当n=1时,Newton-Cotes公式即为梯形公式Eqn5.gif(1.68KB)2009-11-2023:28容易证明上式具有一次代数精度(对于Newton-Cotes积分公式,n为奇数时有n次迭代精度,n为偶数时具有n+1次精度,精度越高积分越精确,同时计算量也越大)(2)当n=2时,Newton-Cotes公式即为辛普森(Simpson)公式或者抛物线公式Eqn6.gif(2.04KB)2009-11-2023:28上式具有3次迭代精度(3)当n=4时,Newton-Cotes公式称为科特斯(Cotes)公式Eqn7.gif(2.68KB)2009-11-2023:28上式具有5次迭代精度。
由于n=3和n=2时具有相同的迭代精度,但是n=2时计算量小,故n=3的Newton-Cotes积分公式用的很少(4)当≥8时,通过计算可以知道,在n=8时柯特斯系数出现负值由于数值积分稳定的条件是求积系数Ak必须为正,所以n>=8以上高阶Newton-Cotes公式,我们不能保证积分的稳定性(其根本原因是,Newton-Cotes公式是由Lagrange插值多项推导出来的,而高阶多项式会出现Rung现象)。
四、复化求解公式n阶Newton-Cotes公式只能有n+1个积分节点,但是高阶Newton-Cotes公式由不稳定。
为了提高大区间的数值积分精度,我们采用了分段积分的方法,即先将原区间划分成若干小区间,然后对每一个小区间使用Newton-Cotes积分公式,这就是复化Newton-Cotes求积公式。
(1)当n=1时,称为复化梯形公式。
将[a,b]等分为n份,子区间长度为h=(b-a)/n,则复化梯形公式为(注意:复化求解公式不需要求积子区间等间距,只是Newton-Cotes公式分段积分时自动对小区间进行等分,我们这里采用等分子区间是为了便于计算而已)Eqn8.gif(2.18KB)2009-11-2023:28(2)当n=2时,称为复化辛普森公式。
Eqn9.gif(2.96KB)2009-11-2023:28五、Newton-Cotes数值积分公式Matlab代码
2023/11/26 8:36:30 126KB Matlab 技术论坛 牛顿 科特斯
1
共 27 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡