1.1doublegauss_ch1(double(*f)(double),intn);求积分∫_(-1)^1f(x)dx/√(1-x^2)实现n点Gauss-Chebyeshev积分公式;
返回积分的近似值。
在区间[-1,1]上关于权函数1/√(1-x^2)的正交多项为T_n(x)=cos(narccos(x)),T_n(x)在[-1,1]上的n个根是x_k=cos⁡((2k-1)/2nπ),k=1,…,n.n点Gauss-Chebyeshev积分公式为∫_(-1)^1f(x)dx/√(1-x^2)≈π/n∑_(k=1)^nf(cos⁡((2k-1)/2nπ))1.2doublegauss_ch2(double(*f)(double),intn);求积分∫_(-1)^1√(1-x^2)f(x)dx实现n点Gauss-ChebyeshevII型积分公式;
返回积分的近似值。
在区间[-1,1]上关于权函数√(1-x^2)的正交多项为U_n(x)=sin⁡((n+1)arccos⁡(x))/sin⁡(arccos⁡(x)),U_n(x)在[-1,1]上的n个根是x_k=cos⁡(kπ/(n+1)),k=1,…,n.n点Gauss-ChebyeshevII型积分公式为∫_(-1)^1√(1-x^2)f(x)dx≈π/(n+1)∑_(k=1)^nsin^2(kπ/(n+1))f(cos⁡(kπ/(n+1)))1.3doublecomp_trep(double(*f)(double),doublea,doubleb);求积分∫_a^bf(x)dx函数实现逐次减半法复化梯形公式;
返回积分的近似值。
1.4doubleromberg(double(*f)(double),doublea,doubleb);求积分∫_a^bf(x)dx函数实现Romberg积分法;
返回积分的近似值。
1.5doublegauss_leg_9(double(*f));求积分∫_(-1)^1f(x)dx实现9点Gauss-Legendre求积公式。
使用上面实现的各种求积方法求下面的积分:∫_(-1)^1e^x√(1-x^2)dx(=∫_(-1)^1(xe^x)/√(1-x^2)dx)使用第3,4,5个函数求积分:∫_0^(π/2)sin⁡xdx(=1)
2024/11/17 22:41:35 217KB 北邮 数值 符号计算 数值积分
1
matlab函数,包括:复化梯形公式复化Simpson公式复化四阶Newton-Cotes公式Romberg积分法Gauss-Legendre积分Gauss-Chebyshev积分Gauss-Laguerre积分Gauss-Hermite积分及以上四个正交多项式的生成函数
2023/12/9 19:06:47 89KB 数值积分 matlab
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
计算定积分,在函数体中修正函数名和上下限以及误差精度。
matlab程序m文件。
2015/5/22 20:02:13 381B 复化梯形公式 积分计算 matlab
1
计算定积分,在函数体中修正函数名和上下限以及误差精度。
matlab程序m文件。
2015/5/22 20:02:13 381B 复化梯形公式 积分计算 matlab
1
对于研一同学,数值计算的编程大作业是不可避免的一项任务。
本资源包含以下6个大作业的具体数学原理、实验结论和matlab程序,每一步matlab程序本人都尽做大程度进行标注,不懂的地方可以私信我实验一:利用拉格朗日的插值多项式的振荡景象(等距节点、随机节点、分段二次插值、切比雪夫多项式零点)实验二:最小二乘曲线拟合(直线、抛物线进行最小二乘拟合及验证)实验三:数值积分(变步长复化梯形公式、变步长复化辛普森、龙贝格法)实验四:线性方程组数值求解(Cholesky分解、LU分解、Jacobi迭代法、Gauss-Seidel迭代法)实验五:非线性方程求根(二分法、Newton法、弦截法)实验六:常微分初值问题数值解法(改进欧拉法、经典四阶龙格库塔法)
2020/6/10 11:04:34 6.84MB matlab 数值计算 研究生大作业
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡