MATLAB求一元函数的数值积分(quad,quadl,quadv)

MATLAB提供了quad( ),quadl( )等函数命令计算一元函数的数值积分,其中quad( )采用遍历的自适应Simpson法计算函数的数值积分,quadl采用遍历的自适应Lobatto法计算函数的数值积分。其调用格式一般为[Q,Fcnt]=quad(function,a,b),其中function为被积函数(形式为函数句柄/匿名函数),a,b分别积分上限,[Q,Fcnt]分别返回数值积分的结果和函数计算的次数。

操作方法

  • 01

    第一,计算下图两个一元函数的数值积分。

  • 02

    第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码: close all; clear all; clcformat compactfigure('Position',[50,50,600,500],'Name','sin(0.5x)')f1=@(x) sin(0.5*x);[Q1a,Fcnt1a]=quad(f1,0,2)[Q1b,Fcnt1b]=quadl(f1,0,2)fplot(f1,[0,2]);%-------------------%figure('Position',[100,100,600,500],'Name','e^x+1')f2=@(x) exp(x)+1;[Q2a,Fcnt2a]=quad(f2,-1,2)[Q2b,Fcnt2b]=quadl(f2,-1,2)fplot(f2,[-1,2]); 其中f1=@(x) sin(0.5*x),f2=@(x) exp(x)+1是建立被积分的函数(形式为函数句柄/匿名函数)。 [Q,Fcnt]=quad(function,a,b),quadl(function,a,b)是分别采用quad和quadl两种方法求数值积分。 其中被积函数function要为上述建立的函数句柄/匿名函数,a,b分别积分上限,[Q,Fcnt]分别返回数值积分的结果和函数计算的次数。

  • 03

    第三,保存和运行上述脚本,在命令行窗口(Command Window)得到如下结果: Q1a =    0.9194Fcnt1a =    13Q1b =    0.9194Fcnt1b =    18Q2a =   10.0212Fcnt2a =    37Q2b =   10.0212Fcnt2b =    18 可以看出,采用quad( )和quadl两种方法计算函数(1)的数值积分都是0.9194,函数(2)的数值积分都是10.0212,只是计算次数不同。例如采用quad( )计算函数(1)的数值积分,计算次数为13,采用quadl( )计算次数为18。

  • 04

    第四,下图为被积分函数(1)的图像。

  • 05

    第五,下图为被积分函数(2)的图像,其中fplot( )绘图命令可以绘制函数句柄/匿名函数的图像。

(0)

相关推荐

  • 用matlab求符号函数数组或函数矩阵的导数实例教程

    在符号矩阵中,矩阵的每个元素都可以存放符号函数,这是对符号函数数组的求到运算是对数组元素逐个进行的.接下来就以实例向大家介绍一下用matlab对符号函数数组或函数矩阵求导数的具体方法步骤,希望大家喜欢 ...

  • MATLAB求多项式的根和通过根构建多项式

    MATLAB提供的函数roots( )可以求多项式的根.同时,函数poly( )又可以通过根反算出多项式. 操作方法 01 第一,通过MATLAB求下图多项式的根. 02 第二,启动MATLAB,新建 ...

  • matlab求方程的根

    在函数特性分析时,常需要求解方程的根,也就是曲线的零点.下面,小编为大家演示如何用matlab求解方程的根: 操作方法 01 作为常见的多项式方程,如下所示,下面演示如何用matlab求其根: 02 ...

  • 用MATLAB求极限

    MATLAB是一个非常强大的数学工具软件,今天为大家讲解一下如何用MATLAB求极限.以求函数limit为例. 操作方法 01 打开软件,进入软件首页面,如图所示. 02 以图示证明为例,为大家讲解一 ...

  • matlab求多变量函数的偏导的图文教程

    对于多元函数求偏导往往是一件很繁琐的事情,其实采用电脑的matlab软件也是可以做到的.下面就随小编一起去看看具体的操作吧! 其中的程序复制粘贴后可以正确使用的. 方法: 1.打开matlab软件,清 ...

  • 如何利用MATLAB求矩阵的伴随阵?

    操作方法 01 3 5 7 例如,求矩阵A=( 5 3 7 )的伴随阵. 6 9 2 02 在MATLAB中输入矩阵A:A=[3 5 7;5 3 7;6 9 2],回车: 03 输入:inv(A)*d ...

  • matlab求余运算

    matlab是经常使用的运算工具. 在编程中,我们经常遇到求余的问题.mod和rem是常用的两个命令,他们之间有什么关系和联系?我们下面详细介绍下. 操作方法 01 rem(m,n); m除以n所得余 ...

  • 怎么用Matlab求矩阵的(最大)特征值和特征向量

    在进行数据分析的时候我们有时候需要求我们建立的矩阵的特征值,尤其是最大特征值以及其对应的特征向量.小编还记得当初学习矩阵的时候笔算特征值和特征向量的痛苦,随着矩阵阶数的扩大,运算量比较大,但是如果使用 ...

  • 如何利用MATLAB求矩阵的逆阵?

    操作方法 01 1 2 3 例如,求矩阵A=            ( 2 2 1 )     的逆阵. 3 4 3 02 需要在MATLAB中输入矩阵A: A=[1 2 3;2 2 1;3 4 3] ...