2013-03-03 129 views
2

我是Matlab新手,非常感謝任何人都可以提供幫助。 我有雙重積分,我計算出使用quad2d()函數:如何在Matlab中繪製雙積分圖?

>> syms x y 
>> [email protected](x)x.^2  
>> [email protected](x)2*x 
>> [email protected](x,y)x+y 
>> quad2d(fun,0,2,ymin,ymax) 

ans = 3.4667 

我怎樣才能畫出整體的圖形? 在此先感謝!

+3

嗯,你的積分是確定的,結果是一個數字。你期望什麼被繪製? – 2013-03-03 16:03:02

+0

我想繪製積分不同的值x – 2013-03-04 03:27:16

回答

0

如果你想繪製爲X限制不同值的積分(在上面的例子中是0和2之間),你可以做這樣的事情:

counter = 1; 
for xmin = 0:10 
    xminv(counter) = xmin; 
    xmax = xmin+2; 
    xmaxv(counter) = xmax; 
    z(counter) = quad2d(fun,xmin,xmax,ymin,ymax); 
    counter = counter +1; 
end 

plot(xminv,z); 

當然,你可以改變的範圍你做的積分而不是2到你想要的任何值。例如,如果您希望x的變化範圍超過3而不是2,請將xmaxxmax=xmin+2更改爲xmax=xmin+3

+0

謝謝!但是這給了我一個空的圖。我究竟做錯了什麼? – 2013-03-04 03:28:13

+0

對不起,請使用plot(xminv,z)代替。 – TJ1 2013-03-04 19:57:48

2

而不是使用quad2d,爲什麼不定義fun作爲一個象徵性的功能,執行symbolic integration然後用ezplot繪製的結果呢?

東西沿着這些路線:

syms x y t 
fun = x + y; 
I = int(fun, 0, t, x^2, 2 * x); 
ezplot(I)