numerical integration

2 次查看(过去 30 天)
rahman
rahman 2011-5-15
Hi all
I want to numerically integral a function with four variable(f(x,y,z,v)).how can I use dblquad?
  4 个评论
Andrew Newell
Andrew Newell 2011-5-15
Are your integral limits rectangular? e.g., xmin <= x <= xmax?
rahman
rahman 2011-5-15
yes.all of four variables integration domain are limited.

请先登录,再进行评论。

采纳的回答

Andrew Newell
Andrew Newell 2011-5-15
This turned out to be surprisingly tricky, but here is the solution. First, define a function
function fzv = integrateOverSecondPair(fun,x,y,zmin,zmax,vmin,vmax)
% DBLQUAD evaluates FUN for a vector x and scalar y. The backwards loop is
% Matt Fig's dynamic preallocation.
for ii=numel(x):-1:1
g = @(z,v) fun(x(ii),y,z,v);
fzv(ii) = dblquad(g,zmin,zmax,vmin,vmax);
end
Then use the commands
fzv = @(x,y) integrateOverSecondPair(@f,x,y,zmin,zmax,vmin,vmax);
fxyzv = dblquad(fzv,xmin,xmax,ymin,ymax);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by