2014-10-30 3 views
0

Я пытаюсь аппроксимировать двойной интеграл численным использованием MATLAB, используя понятие двойной суммы. Предполагая, что функция Я пытаюсь интегрировать это по й и у могу я сделать следующее,Приближение двойного интеграла в MATLAB путем двойного суммирования

result=0; 
for i=1:0.1:x 
for j=1:0.1:y 
fun(i,j)= x(i).*y(j)*0.1^2; %the function I want to integrate times the increment 
result = result + fun(i,j); 
end 
end 

Также кто-нибудь знает, что будет лучшая прибавкой быть лучше аппроксимировать интеграл? Я ценю любой совет!

+0

вам может быть полезно http://stackoverflow.com/questions/19696212/nested-numerical-integration/19700135#19700135 – Guddu

+0

сторона примечание: вы действительно должны векторизовать свой код. – Memming

+0

уверен, спасибо @Memming – George

ответ

0

Численное интегрирование - довольно сложный вопрос. Возможно, лучший вариант стандарта будет использовать (http://www.mathworks.nl/help/matlab/ref/integral2.html#btdgcqq)

result = integral2(fun,xmin,xmax,ymin,ymax) 

Если вы заинтересованы в численном интегрировании в целом, пожалуйста, обратите внимание на Wiki (http://en.wikipedia.org/wiki/Numerical_integration). Для конкретных реализаций Numerical Recipes является хорошей исходной точкой (http://www.it.uom.gr/teaching/linearalgebra/NumericalRecipiesInC/, извините, там нет версии Matlab)

Смежные вопросы