Как построить график двойного интеграла в Matlab?

Я новичок в Matlab и был бы очень признателен, если бы кто-нибудь мог помочь. У меня есть двойной интеграл, который я вычислил с помощью функции quad2d():

>> syms x y
>> ymin=@(x)x.^2    
>> ymax=@(x)2*x
>> fun=@(x,y)x+y
>> quad2d(fun,0,2,ymin,ymax)

ans =  3.4667

Как построить график интеграла? Заранее спасибо!


person Gyuzal R    schedule 03.03.2013    source источник
comment
Итак, ваш интеграл определен, а результат — число. Что именно вы ожидаете отрисовать?   -  person Eitan T    schedule 03.03.2013
comment
я хочу построить интеграл для разных значений x   -  person Gyuzal R    schedule 04.03.2013


Ответы (2)


Вместо использования quad2d, почему бы не определить fun как символьную функцию, выполнить символическое интегрирование а затем использовать ezplot для построения графика результата?

Что-то в этом роде:

syms x y t
fun = x + y;
I = int(fun, 0, t, x ^ 2, 2 * x);
ezplot(I)
person Eitan T    schedule 04.03.2013

Если вы хотите построить интеграл для разных значений пределов 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, измените xmax с xmax=xmin+2 на xmax=xmin+3.

person TJ1    schedule 03.03.2013
comment
Спасибо! но это дало мне пустой график. Что я делаю неправильно? - person Gyuzal R; 04.03.2013
comment
Извините, используйте вместо этого plot(xminv, z). - person TJ1; 04.03.2013