用MATLAB求定积分
一、符号积分
符号积分由函数int来实现。该函数的一般调用格式为:
int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分;
int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分;
int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间[a,b]上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。
例:
求函数x^2+y^2+z^2的三重积分。内积分上下限都是函数,对z积分下限是sqrt(x*y),积分上限是x^2*y;对y积分下限是sqrt(x),积分上限是x^2;对x的积分下限1,上限是2,求解如下:
>>syms x y z %定义符号变量
>>F2=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y,sqrt(x),x^2),x,1,2) %注意定积分的书写格式
F2 =
1610027357/6563700-6072064/348075*2^(1/2)+14912/4641*2^(1/4)+64/225*2^(3/4) %给出有理数解
>>VF2=vpa(F2) %给出默认精度的数值解
VF2 =
224.92153573331143159790710032805
二、数值积分
1.数值积分基本原理
求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的基本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。
2.数值积分的实现方法
基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:
[I,n]=quad('fname',a,b,tol,trace)
基于变步长、牛顿-柯特斯(Newton-Cotes)法,MATLAB给出了quadl函数来求定积分。该函数的调用格式为:
[I,n]=quadl('fname',a,b,tol,trace)
其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。
例:
求函数'exp(-x*x)的定积分,积分下限为0,积分上限为1。
>>fun=inline('exp(-x.*x)','x'); %用内联函数定义被积函数fname
>>Isim=quad(fun,0,1) %辛普生法
Isim =
0.746824180726425
IL=quadl(fun,0,1) %牛顿-柯特斯法
IL =
0.746824133988447
三、梯形法求向量积分
trapz(x,y)—梯形法沿列方向求函数Y关于自变量X的积分(向量形式,数值方法)。
>>d=0.001;
>>x=0:d:1;
>>S=d*trapz(exp(-x.^2))
S=
0.7468
或:
>>format long g
>>x=0:0.001:1; %x向量,也可以是不等间距
>>y=exp(-x.^2); %y向量,也可以不是由已知函数生成的向量
>>S=trapz(x,y); %求向量积分
S =
0.746824071499185
附:int与quad区别
int的积分可以是定积分,也可以是不定积分(即有没有积分上下限都可以积)可以得到解析的解,比如你对x^2积分,得到的结果是1/3*x^3,这是通过解析的方法来解的。如果int(x^2,x,1,2)得到的结果是7/3
quad是数值积分,它只能是定积分(就是有积分上下限的积分),它是通过simpson数值积分来求得的(并不是通过解析的方法得到解析解,再将上下限代入,而是用小梯形的面积求和得到的)。如果f=inline('x.^2');quad(f,1,2)得到的结果是2.333333,这个数并不是7/3
int是符号解,无任何误差,唯一问题是计算速度;quad是数值解,有计算精度限制,优点是总是能有一定的速度,即总能在一定时间内给出一个一定精度的解。
用MATLAB求定积分相关推荐
- matlab求定积分和不定积分
matlab求定积分与不定积分 创建于2018-03-21 22:42 求定积分与不定积分是一件比较繁琐的事,但是我们可以借助matlab,下面与大家分享解决方法 材料/工具 matlab 求不定积分 ...
- python、Matlab求定积分
python求定积分 计算 from sympy import * x = symbols('x') print(integrate(sin(2*x)/(1+x**2), (x, 0, 3))) sy ...
- matlab能不能求不定积分,用MATLAB求定积分
一.符号积分 符号积分由函数int来实现.该函数的一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分: int(s, ...
- 从一个椭圆积分看matlab求定积分
一个积分,能求出解析解固然好,但是求不出解析解,求一个数值解基本能够满足实际的需求了.现实生活中,我们遇到的积分大部分是解不出或者很难解出解析解,这时候,就需要我们求其数值解.matlab提供了一个求 ...
- matlab函数积分怎么写,Matlab求分段函数的积分
(一)前言 本文介绍一个使用Matlab进行求分段函数积分值的方法. 首先介绍如何使用int()对连续函数进行积分的求解,然后介绍一个对分段函数进行求积分的例子. (二)使用Matlab求定积分 Ma ...
- Matlab求分段函数的积分
(一)前言 本文介绍一个使用Matlab进行求分段函数积分值的方法. 首先介绍如何使用int()对连续函数进行积分的求解,然后介绍一个对分段函数进行求积分的例子. (二)使用Matlab求定积分 Ma ...
- Matlab求解定积分/不定积分/微分
使用Matlab求解定积分/不定积分 https://blog.csdn.net/qq_34374664/article/details/79186465 用MATLAB求定积分 https://bl ...
- matlab:求定积分
matlab:求定积分 MATLAB可以使用多种方法对函数进行定积分求解,包括符号法.数值法和积分变换法等.下面分别介绍这些方法的具体实现步骤. 符号法求解定积分 符号法是一种基于符号计算的方法,可以 ...
- 矩形法求定积分公式MATLAB,Matlab实验报告四(矩形法梯形法抛物线法求定积分).doc...
Matlab实验报告四(矩形法梯形法抛物线法求定积分) 数学与信息科学系实验报告 实验名称 定积分的近似计算 所属课程 数学软件与实验 实验类型 综合型实验 专 业 信息与计算科学 班 级 学 号 姓 ...
- 牛顿斯科特MATLAB求积分,详解Matlab求积分的各种方法
详解Matlab求积分地各种方法 一.符号积分 符号积分由函数int来实现.该函数地一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示地默认变量对被积函数或符号 ...
最新文章
- 【每日一算法】搜索插入位置
- 小A与任务 (贪心 优先队列)
- Document 对象描述
- python 爬虫 selenium
- 计算机主板开机接线端子,装机必看,机箱前置面板接线向导,不怕再接错线了...
- js 获取url问号前_收下这波 JS 技巧,从此少加班
- Mybatis中的缓存详解
- VMware之以太网链接
- 关于QTableWidget删除遇到的坑(removeRow)
- 《统计学习基础-数据挖掘、推理与…
- ARM926EJ-S/ARM920T 协处理器 CP14, CP15详解(转载)
- 带网口插卡4G DTU是什么?RS485/RS232转以太网串口服务器软件怎么实现?
- Java实现一个打飞机的小游戏【附源码】
- 男人的消费观连狗都不如
- 如何获取国际短信验证码---创蓝253国际短信接口调用demo
- 【参赛作品65】MOGDB/openGauss的txid_snapshot 数据类型和相关函数
- Ardupilot多旋翼自动规划路径实现绕开障碍物避障
- CAPM资产定价模型
- Tapestry5自定义组件
- 恢复文件默认打开方式