A question using trapz integration
Mostrar comentarios más antiguos
Hello all
I have a problem using the trapz integration. I’m trying to integrate this integral (in the attached file) using trapz twice when I’m trying to approximate the analytic solution to z = 0.

(For arctan(R/Z) far from pi/2 it is working ok). I’m taking z to be very small but final and it seems that the code I wrote doesn't handles it very well; I guess it is because tan diverges in pi/2.
(the analytic solution is pi*R^2)
Maybe there is another way to solve this problem?
Thanks
(In the next step I need to perform this integral where in the integrand I have a function which is dependent on theta and phi, And that is why I can’t just take the area of the circle)

The code I wrote:
theta_val_new = (round(linspace(0,pi./2,100).*100)/100)';
phi_val_new = linspace(0,2.*pi,120);
theta_val_mat = repmat(theta_val_new,1,120);
function_to_integrate = abs(tan(theta_val_mat)./(cos(theta_val_mat)).^2) .*(30./tan(theta_val_new(end,1))).^2;
energy1 = (trapz(phi_val_new,trapz(theta_val_new,function_to_integrate))
11 comentarios
Walter Roberson
el 4 de Ag. de 2015
No file was attached.
Lilach Saltoun
el 4 de Ag. de 2015
Torsten
el 4 de Ag. de 2015
Maybe we can help if you explain what original 2d-integral you are trying to solve.
Best wishes
Torsten.
Lilach Saltoun
el 4 de Ag. de 2015
Editada: Lilach Saltoun
el 4 de Ag. de 2015
Torsten
el 4 de Ag. de 2015
You write
And that is why I can’t just take the area of the circle
What is the original integral (over a 2d-region, I guess (maybe a circle ?)) you are trying to solve ? What are theta and phi for this region ?
Best wishes
Torsten.
Lilach Saltoun
el 4 de Ag. de 2015
Editada: Lilach Saltoun
el 4 de Ag. de 2015
Lukas Bystricky
el 4 de Ag. de 2015
It's not just tan(pi/2) that's unbounded, you also have 1/cos^2(theta) which also blows up at pi/2, although you might be able to show the z^2 cancels that out. How close does z actually get to 0?
Lukas Bystricky
el 4 de Ag. de 2015
Editada: Lukas Bystricky
el 4 de Ag. de 2015
I should point out that you can evaluate this integral exactly by remembering that tan = sin/cos and letting u = cos(theta). I got that it equals pi z^2 * (1/ cos^2(arctan(R/z)) - 1), but you should verify this yourself.
Torsten
el 4 de Ag. de 2015
It's not possible to simply write your integral as
int_{phi=0}^{phi=2*pi} int_{r=0}^{r=R} f(r,phi)*r dr dphi
?
If not, I'd use MATLAB's integral2 instead of applying trapz twice. Or do you only have a list of values for your function f ?
Best wishes
Torsten.
Lilach Saltoun
el 4 de Ag. de 2015
Lukas Bystricky
el 4 de Ag. de 2015
Editada: Lukas Bystricky
el 4 de Ag. de 2015
I see you added a second integral that can't be integrated exactly. Do you know if gamma is 0 at theta = pi/2 (for all phi)? If it isn't, then that integral is unbounded since Rz/cos^2(arctan(R/z)) goes to infinity as z goes to 0.
If you do wish to do this integral numerically for other values of z I agree with Torsten that integral2 is a much better route.
Respuestas (0)
Categorías
Más información sobre Numerical Integration and Differentiation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

