可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
求函数x^2+y^2+z^2的三重积分。内积分上下限都是函数,对z积分下限是sqrt(x*y),积分上限是x^2*y;对y积分下限是sqrt(x),积分上限是x^2;对x的积分下限1,上限是2,求解如下:
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
1、在matlab中,积分运算有多种方式,为了便于查看不同方式处理异同,以下面这个积分为例:
第一种,采用最简单的方式,以函数trapz为例,z = trapz(x,y) 其中x表示积分区间的离散化向量,y是与x同维数的向量,表示被积函数,z是返回的积分近似值。
3、高精度数值积分(1)
为了克服梯形积分法精度低的问题,可以采用高精度积分方式,第一种可以采用 z = quad(Fun,a,b) 该方式是自适应步长Simpson计分法求得函数Fun在区间[a,b]上定积分,如下:
4、高精度数据积分(2)
% 注:在编写完代码后,要按如下图红色箭头所指处运行程序才会有输出!
于无法求得exp(x^2)的原函数,我们只能用数值算法来求解,可以用复化梯形公式、Romberg公式、Gauss公式等,有好多种。我用Matlab编了一个用Gauss公式求解积分的函数。
%运用Gauss求积公式计算数值积分
%f为被积函数,Rho为权函数,二者均为符号函数
%a,b分别为求积区间的左界和右界
%n表示求积结点的个数,是一正整数
%本程序利用线性变换将区间[a,b]变换到[-1.1],
%同时令g=f*Rho为被积函数,然后利用
%古典的Gauss求积公式进行计算,此时直交多项式即为Legendre多项式
error('错误,n必须是一个非负整数!');
error('错误,区间的左界a一定不大于右界b!');
我取了8个结点,计算精度就已经达到了小数点后8位,效率还是很高的。
注意:由于Matlab调用Maple的符号计算工具箱,第一次运行时会加载一小会,耐心等待。
以后再运行速度就很快了。
符号积分由函数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中有一个符号表达式时,函数返回一个符号函数。
2.数值积分的实现方法
基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:
基于变步长、牛顿-柯特斯(Newton-Cotes)法,MATLAB给出了quadl函数来求定积分。该函数的调用格式为:
其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。
计算不定积分是在微积分学习中比较困难的事,能求不定积分那定积分就好求多。matlab中提供int函数来求取不定积分。
int(s,v)该命令用来求取不定积分。只需在该命令中加入上下限就可以用来求取定积分了。命令形式为int(s,v,a,b)。其中各参数解释如下:s表示函数,v表示自变量,a表示积分下限,b表示积分上限。
下面以求如下函数为例,进行说明。
启动matlab,主界面如图,在命令行中输入代码。
代码如下图所示,分别求的是不定积分与定积分。
下面做个比较,将原函数与积分函数绘制成图形。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
说说为什么给这篇经验投票吧!
只有签约作者及以上等级才可发有得 你还可以输入1000字
n = 5000;%当想要结果更精确时,可以把n设置更大
%Tn积分结果变成参数的函数,结果由参数确定。
Tn(va,rho) %这就是数值积分带入参数后的结果,这时积分结果成为参数的函数
%利用matlab自带函数的方法,先确定参数值然后积分。两种方法都可以,后者精度高。