1. 程式人生 > >MATLAB 學習心得(3) 定積分和雙重積分,三重積分的求法

MATLAB 學習心得(3) 定積分和雙重積分,三重積分的求法

一、定積分

定積分的求法;

y = quad(@Fun,a,b)       Fun為函式,a為下限,b為上限

y = quad(@Fun,a,b,ε)    ε為誤差,預設為10^(-6)

用quad求積分必須要定義函式,呼叫函式時,要用@

function [ y ] = Fun(x)
 y = x.^2;

end

>> y = quad(@Fun,-1,1)

y =

    0.6667

還有一種 quad1求積分,方法與quad相同

quad:採用遞推自適應的Simpson法來計算

quad1:採用遞推自適應的Lobatto法來計算

quad1方法的速度和精度優於quad

二、雙重積分

y = bdlquad(@Fun,xm,xM,ym,yM) xm為函式下限,xM為上限,ym為函式下限yM為上限

y = bdlquad(@Fun,xm,xM,ym,yM,ε)    ε為誤差,預設為10^(-6)

function [ b ] = Fun(x,y)
 b = x.^2 +exp(y);

end


>> y = dblquad(@Fun,-1,1,-1,1)

y =

    6.0341

三、三重積分

q = triplequad(@Fun,xm,xM,ym,yM,zm.zM) 同上面兩項

function [ b ] = Fun(x,y,z)
 b = x.^2 +exp(y)+sin(z);

end

>> y = triplequad(@Fun,-1,1,-1,1,-1,1)

y =

   12.0683

綜上,為定積分和雙重積分,三重積分的求法。