2016-11-22 16 views
0

Matlabで二重積分を実装するのに問題があります。二番目の変数で表される二重積分

他の二重積分とは異なり、第2の変数の表記である第1の(内部の)積分の結果が、第2の(外側の)積分を通過する前にkによって給電されなければならない。例えば

:私は2番目を実行する前に(2Y)^ kは、計算することができるように、上記の例では

Click here

は、私は、2Yのように表現される積分内部の結果を必要とします(外部)積分。

誰でもMatlabでこれを行う方法を知っていますか?

+1

はどうもありがとうございましMATLAB –

答えて

0

すべての問題の99.9%が閉じた形式の解決策をまったく持っていないため、象徴的なことをしたくないです。 が閉じた形式の解を持つ問題の99.9%に対して、その解は扱いにくく、ほとんど役に立たない。それは私の具体的な規律のためかもしれませんが、私は自分の問題が99.9%のセットの1つに含まれると仮定しようとしていますので、最も明白な数値を提示します。

そして、それは、integral自分自身を呼び出す機能を統合:

function dbl_int() 

    f = @(x,y) 2.*x.*y + 1;  
    k = 1; 

    x_limits = [0 1]; 
    y_limits = [1 2]; 

    val = integral(@(y) integrand(f, y, k, x_limits), ... 
        y_limits(1), y_limits(2)); 

end 

function val = integrand(f, y, k, x_limits) 

    val = zeros(size(y)); 
    for ii = 1:numel(y)   
     val(ii) = integral(@(x) f(x,y(ii)), ... 
          x_limits(1), x_limits(2));   
    end 

    val = val.^k; 

end 
+0

の象徴ツールボックスをお試しください! – user2011987

関連する問題