У меня есть задание оценить двойной интеграл, используя трапецеидальное правило. Первая часть состояла в оценке двойного интеграла с помощью правила трапеции с пределами = х < = 2, 0 < = у < = 1Оцените двойной интеграл, используя трапецеидальное правило (Matlab)
У меня есть рабочий скрипт для этого:
N = 100;
xh= 1.25;
x = linspace(0,2,N);
y = linspace(0,1,0.5*N);
dx = diff(x(1:2));
dy = diff(y(1:2));
[x,y] = meshgrid(x,y);
funk = exp(-10.*((x-xh).^2+y.^2)).*cos(y.*(x-xh));
funk(2:end-1,:) = funk(2:end-1,:)*2;
funk(:,2:end-1) = funk(:,2:end-1)*2;
out = sum(funk(:))*dx*dy/4;
disp(out)
сейчас для второй части границы являются 0 < = х < = 2, 0 < = у < = ((р * х)/2)
Как получить у (строка 4 в коде) принимать соответствующие значения х из x-матрицы для создания y-mat RIX? Если я получу это для работы, мне не нужно ничего менять в коде, или я чего-то не хватает?
Прежде всего, у меня есть некоторая дополнительная информация в настоящее время. Правильный ответ должен быть равен ≈ 0,156. С вашим кодом я выхожу = 0. И из того, что я могу понять, область должна быть частью кривой синуса, подумайте о «холме». Я вижу вашу логику. – stx1020
@MarkJansson Исправлено. Я использовал неверные переменные для 'diff'. В качестве ответа я получил 0,1568. Я отредактировал свой ответ. Пожалуйста, проверь это. – rayryeng
Спасибо! Да, сейчас это работает. – stx1020