How to draw double integral functions

AI Thread Summary
The discussion revolves around correcting a MATLAB M-file for drawing a double integral function dependent on parameters R and h. The initial code contains errors, particularly in the definition of the integrand and the handling of symbolic variables. A key correction involves ensuring that R and h are treated as parameters rather than symbolic objects. The integrand also requires a dot operator for element-wise division. The revised code suggests defining the function f as a function of R and h and adjusting the limits of integration accordingly. Despite running the corrected code, warnings appear, likely due to singularities in the integral. The adjustments successfully enable the functions to be drawn as intended.
matinking
Messages
15
Reaction score
0
Hi every one!

I would like to draw a double integral function in related to R and h parameters by below M-File but It does goes wrong!
Is there anyone to correct it for me?
thank you

syms R h;

a1 = 0;

a2 = atan(R./(R+h));

r1 = h;
r2 = sqrt(R.^2+(R+h).^2);

integrand = @(r,a)(h.*sin(a)/((r.^2).*(r.^2+h.^2-2.*r.*h.*cos(a))));
f = quad2d(integrand,r1,r2,a1,a2);

ezsurf(f,[0.001,5]);
 
Physics news on Phys.org
There's two problems that I can see right away (and perhaps more that I don't see). For one I'm guessing you're trying to make f a function of R and h? But you just leave them as symbolic objects. The second problem is that where you define the integrand, you need an extra "."

Code:
integrand = @(r,a)(h.*sin(a)./((r.^2).*(r.^2+h.^2-2.*r.*h.*cos(a))));


If I understand what you're trying to do correctly then this should do it:
Code:
f = @(h,R) quad2d(@(r,a)(h.*sin(a)./((r.^2).*(r.^2+h.^2-2.*r.*h.*cos(a)))),h,sqrt(R.^2+(R+h).^2),0,atan(R./(R+h)));
ezsurf(f,[0.001,5]);

When I ran it, there were a bunch of warnings but I think that may be due to a singularity in the integral you're evaluating.
 
Thank you very much.

your correctness let's the functions be drawn!
 
Back
Top