一种定积分数值算法在MATLAB中的实现.doc
《一种定积分数值算法在MATLAB中的实现.doc》由会员分享,可在线阅读,更多相关《一种定积分数值算法在MATLAB中的实现.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一种定积分数值算法在MATLAB中的实现一种定积分数值算法在MATLAB中的实现Analysis of Numerical Integral Algorithm and its realization in MatLab滕旭东1 傅珣2 王弘辉3TENG Xudong1,WANG Hong_Hui2, FU YouDeng2(1.上海工程技术大学电子电气工程学院,上海2016002. 四川省经济贸易学校,成都6100413。中国酒泉卫星发射中心,兰州732750; )摘 要:MATLAB软件在工程上的使用日益扩大,一些重要的计算如定积分运算会经常用到,本文针对MATLAB内置函数无法计算有些定
2、积分,提出采用高斯勒让德数值算法来求解定积分。文中介绍了该算法原理和实现步骤,并给出定积分数值算法的M函数实现代码。运算结果表明新的数值定积分算法调用方便,不但解决了个别定积分在MATLBA中计算出错问题,而且精度高,运行速度快。关键词:MATLAB; 数值积分;GaussLegendre算法; M函数 中图分类号: TP301。6 文献标识码: AAbstract: A new numerical integral algorithm is introduced for solving integral operation, which is difficult to get correct
3、 solutions for some differential equation by calling directly functions in Matlab library. In the paper, the principle of Gausslegendre integral algorithm is discussed, and its realization procedures and steps are given based on above idea。 At last, the new integral M-function can be design easily i
4、n matlab. The results show that the new integral Mfunction is not only more precise, but also more fast speed to solve the complicated integral.Keywords: MATLAB;Numerical Integral;Gauss-Legendre Algorithm;Mfunction1问题的提出 基金项目:上海高校培养优秀青年教师科研专项基金资助(05XPYQ05)MATLAB是工程计算领域中一个非常重要的应用软件,它提供大量的数学函数和矩阵函数,使得
5、工程计算变得简单。如在求解方程中,定积分运算就可以直接调用MATLAB提供的INT函数和QUAD8函数得到计算结果,这两种积分函数函数算法稳定,适用性强,计算精度高,计算很少失败,所以常使用这两种函数进行工程分析和计算。然而我们在计算中也发现一些不足之处,即对某些函数的定积分运算,利用MATLAB提供的函数求不出正确的结果。例1 求 准确结果为调用MATLAB提供的INT 积分指令指令:syms x ; F=int(sqrt(log(1./x))xo1)Warning: Explicit integral could not be found.F= Int(log(1/x)(1/2)x = 0
6、 . 。1)调用MATLAB提供的QUAD8积分指令:Y=intline(sqrt(log(1/x)x) F=quad8(Y01)Warning:Divide by zero. F= Inf上面结果表明:无论是INT还是QUAD8函数实现算法对上式都不能得到正确的积分结果,因此只有设计一种新的定积分数值算法程序(自定义积分M函数)实现MATLAB中的定积分求解工作。2定积分数值算法原理 2.1高斯勒让德求积分算法概述设f(x)是在区间-1,1上具有一定光滑度的函数,则有 (1) (2) (3)其中是n次legendre(勒让德)多项式(2)的零点,也就是求积分公式(1)的高斯点:是独立于函数)
7、的常数,称为积分系数,其值为(3);一般称积分式(1)为gausslegendre(高斯勒让德)求积分公式.当积分区间不是-1,1,而是一般区间a,b时,只要做变换可将区间a,b化为-1,1区间,即: (4)其中就是n次legendre(勒让德)多项式(2)的零点。表给出了部分高斯勒让德积分公式的高斯点和积分系数以备查阅。2。2算法实现步骤1)先将积分区间a,b分为长度相等的m(m=1,2,)个子区间,有: (5) 并分别计算出每个子区间的左端点aa的值和右端点bb的值。2) 在第i子区间上,对积分变量x按(4)作变换,将子区间化为在区间-1,1上的积分,再利用gausslegendre求积分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 积分 数值 算法 MATLAB 中的 实现
限制150内