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