当前位置 博文首页 > OIqng的博客:Matlab中不定积分和定积分的实现

    OIqng的博客:Matlab中不定积分和定积分的实现

    作者:[db:作者] 时间:2021-07-14 10:05

    MATLAB提供的用于积分运算的函数是int( )(不定积分和定积分)和quad( )(定积分的数值计算),首先学习int( )的用法,int( )可以完成函数的不定积分和定积分运算,它先求出函数的原函数,如果需要求定积分,则在原函数的基础上按牛顿-莱布尼兹公式求定积分的值:

    • int(fun) 计算函数fun关于默认变量的不定积分
    • int(fun, x) 计算函数fun关于变量x的不定积分
    • int(fun, x, a, b) 计算函数fun关于变量x从a到b的定积分

    计算不定积分 ∫ ( x 5 + x 3 ? x 4 ) d x \int(x^5+x^3-\frac{\sqrt{x}}{4})dx (x5+x3?4x ??)dx

    使用下面程序实现

    clear
    syms x
    y=x^5+x^3-sqrt(x)/4
    int(y,x)
    pretty(ans)
    

    效果为
    在这里插入图片描述
    计算定积分 ∫ 0 1 ( x e x ( 1 + x ) 2 ) d x \int_{0}^{1}(\frac{xe^x}{(1+x)^2})dx 01?((1+x)2xex?)dx

    使用下面程序实现

    clear
    syms x
    y=(x*exp(x))/(1+x)^2;
    int(y,x,0,1)
    

    效果为
    在这里插入图片描述

    计算广义积分 ∫ ? 2 ? 1 ( 1 x ( x 2 ? 1 ) ) d x \int_{-2}^{-1}(\frac{1}{x\sqrt{(x^2-1)}})dx ?2?1?(x(x2?1) ?1?)dx

    使用下面程序实现

    clear
    syms x
    int(1/x/sqrt(x*x-1),x,-2,-1)
    

    效果为
    在这里插入图片描述
    计算广义积分 ∫ ? ∞ + ∞ ( 1 ( x 2 + 1 ) + ( x 2 + 4 ) ) d x \int_{-\infty}^{+\infty}(\frac{1}{(x^2+1)+(x^2+4)})dx ?+?((x2+1)+(x2+4)1?)dx

    使用下面程序实现

    clear
    syms x
    int(1/(x*x+1)/(x*x+4),x,-inf,inf)
    

    效果为
    在这里插入图片描述
    并非所有的积分都可以用MATLAB软件通过函数int( )来完成运算,函数int( )完成的是符号运算而不是数值运算,因此,当积分不存在初等形式的原函数时,函数int( )便不能完成积分运算。所以下面将使用quad()进行数值积分计算:
    quad(fun,a,b),其中fun是被积函数,a是积分下限,b是积分上限,fun一般用函数文件来定义

    计算定积分 ∫ 0 π ( x s i n x 1 + c o s 2 x ) d x \int_{0}^{\pi}(\frac{xsinx}{1+cos^2x})dx 0π?(1+cos2xxsinx?)dx

    首先定义被积函数, 在磁盘上建立一个函数文件f.m, 内容如下:

    function y=f(x)
    y=x.*sin(x)./(1+cos(x).^2)
    

    接着,在另一个文件或命令窗口中输入:

    I=quad(@f,0,pi
    

    效果为
    在这里插入图片描述
    计算积分 ∫ ? 1 1 g ( x ) d x \int_{-1}^{1}g(x)dx ?11?g(x)dx,其中
    g ( x ) = { 1 + x 2 c o s x x ≤ 0 e ? x s i n x x > 0 g(x)=\left\{ \begin{array}{lr} 1+x^2cosx & x \leq 0 \\ e^{-x}sinx & x >0 \\ \end{array} \right. g(x)={1+x2cosxe?xsinx?

    下一篇:没有了