Numerical integration over a circular domain
20 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have an analytic function defined over x=[0,100] and y=[0,100]. I do not know the precise workings of the function, just that it is smooth, takes in inputs (x,y) and returns a scalar.
It is quite straightforward to numerically integrate this function over a rectangular domain using the function integral2. However, I would like to integrate the function over a circle. For simplicity's sake let's have it centered at (x,y)=(50,50) with a radius of 10.
How would I be able to achieve this? Remember I cannot modify the function by substituting x = 50+10*cos(theta) and y=50+10*sin(theta).
An example function below.
func = @(x,y) x^3*y+x*y^2;
for i=1:100
for j=1:100
data(i,j)=func(i,j);
end
end
surf(1:100,1:100,data)
0 comentarios
Respuestas (1)
Jan
el 23 de Oct. de 2013
I would try to transform the scalar field into polar coordinates and do numerical integration over a square window there. Of course you have to take care of the translation prior to coordinate transformation to make sure, that the circles center is located in the origin.
0 comentarios
Ver también
Categorías
Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!