2013-03-03 126 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)