MATLAB 中的積分
Ammar Ali
2021年11月29日
本教程將討論使用 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()
。