Numerical integration over a circular domain
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Jan
am 23 Okt. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!