MATLAB 中的积分

Ammar Ali 2021年11月29日
MATLAB 中的积分

本教程将讨论使用 integral() 函数在 Matlab 中找到函数的积分。

在 MATLAB 中使用 integral() 函数求函数的积分

要找到给定函数的积分,我们可以使用 Matlab 的内置函数积分。积分函数的输入是输入函数、输入函数的最小极限和最大极限。例如,让我们定义一个函数并使用 Matlab 中的函数 integral() 求其积分。请参阅下面的代码。

MyFun = @(x) exp(-x.^3).*log(x).^3;
IntOfFun = integral(MyFun,0,Inf)

输出:

IntOfFun =

   -5.9765

我们在上面的代码中使用了 0 作为最小极限,使用了无穷大作为最大极限。在参数化函数的情况下,我们可以在 integral() 函数内部传递参数值。例如,让我们定义一个带参数 c 的参数化函数,并将其值传递到 integral() 函数中。请参阅下面的代码。

format long
MyFun = @(x,c) exp(-x.^3).*log(x).^3+c;
IntOfFun = integral(@(x) MyFun(x,6),0,2)

输出:

IntOfFun =

   6.023460235735111

我们在上面的代码中使用 0 作为最小极限,使用 2 作为最大极限。我们还可以在 integral() 函数中指定其他值。例如,函数 integral() 的输出将是输入函数关于默认容错的积分。你还可以在 integral() 函数中定义其他选项,例如,绝对误差和相对误差的公差和公差航点。如果不定义这些变量,Matlab 将使用这些变量的默认值。例如,让我们在上面的代码中定义绝对误差和相对误差公差。请参阅下面的代码。

format long
MyFun = @(x,c) exp(-x.^3).*log(x).^3+c;
IntOfFun = integral(@(x) MyFun(x,6),0,2,'RelTol',0,'AbsTol',1e-12)

输出:

IntOfFun =

   6.023460383922278

如你所见,在这种情况下,输出与上述输出不同,因为在这种情况下,绝对误差和相对误差公差的值发生了变化。你还可以使用 integral2() 函数在 Matlab 中查找函数的二重积分。如果你想找到一个输入函数的三重积分,你可以使用 Matlab 的内置函数 integral3()

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook