首页 > 编程知识 正文

excel积分函数(MATLAB数值积分法)

时间:2023-05-04 11:19:27 阅读:121338 作者:7

MATLAB数值积分法作者: ggdjmg -博主园

33558 www.cn blogs.com/kailugaji /

另一方面,实验目的在许多工程技术和数学研究中使用定积分,但不能直接计算出正确的值,例如积分方程中包含的积分,或者计算困难但可以近似的,用数值积分法解决。 常用算法有复梯形、JLdym(Simpson )、tmdst (cotes )求积法; 龙贝格(Romberg )算法; ymdlc(gauss )算法。

二.实验原理

三、实验程序下给出了复杂化Simpson求积法程序(梯形及tmdst复杂化求积分程序比较可行)。

四、实验内容选择能准确计算值的定积分,采用复杂化梯形法和复杂化Simpson求积法进行近似计算,并比较结果。

五、答案1.(程序) xps.m:

函数y=XPS (x ) y=x^ )3/2; 要重新创建梯形公式:

trap.m:

函数[ t,y,esp]=trap(a,b,n ) h=(B- a )/n; T=0; forI=1:(n-1 ) x=a h*i; t=tXPS(x; ENDT=h*(XPS(a ) XPS (b ) )/2 h*T; symsxy=VPA(int(XPS(x )、x、a、b )、8 ); ESP=ABS(y-t ); 复制JLdym(Simpson )公式:

simpson.m:

function [SI,y,esp]=Simpson(a,b,m ) %a,b是区间的左右端点,XPS ) x )求乘积的公式,因此m*2等分区间的长度h=(B-a )/(2* m ); si0=XPS(a ) XPS ) b; SI1=0; SI2=0; forI=1:(2*m )-1 ) x=a i*h; ifmod(I,2 )==0 SI2=SI2 xps(x ) x; ELSEsi1=si1XPS(x; 嵌入式si=h * (si04 * si12 * si2 )/3; symsxy=VPA(int(XPS(x )、x、a、b )、8 ); ESP=ABS(y-si; 2.)运算结果(t,y,esp )=trap (1,2,8 ) t=1.8627417 esp=0.0008089282473548607354274019599 (si,y,esp ) 35486076073599 8)根据si=1.8627 y=1.8627417 esp=0.000002049792974248975951923057436943计算结果,复杂而殷勤的金鱼公式更加准确。

3.)扩展(方法改进、体会等) ) MATLAB有一个实现自适应积分的嵌入式函数,都是基于Gander和Gautschi结构的算法编写的。

quad )用殷殷金鱼求积对低精度或不平滑函数更有效率

quadl :该函数使用一种称为友好鞋(Lobatto Quadrature )的算法,对高精度和光滑函数更有效率

使用方法:

I=quad(func、a、b、tol );

func是被积函数,a、b是积分限制,tol是期望的绝对误差(如果没有提供,默认值为1e-6 ) )。

例如,如果对函数f=xe^x用[ 0,3 ]求积分,很明显,是2e^3 1=41.171073846375336的结果

首先创建m文件xex.m

内容如下。

函数f=xex (x )

f=x.*exp(x );

然后,调用:

格式长

格式压缩

quad(@Xex,0,3 ) ) )。

ans=

41.171073850902332

可以看出有9位有效数字,但精度相当高。

使用quadl时:

quadl(@XEX,0,3 ) ) ) ) ) ) ) ) ) )。

ans=

41.171074668001779

反而只有7位有效数字

转载于:https://www.cn blogs.com/kailugaji/p/6932498.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。