Doing a nested numerical integral in Matlab

5 views (last 30 days)
How do I do the following nested integral in Matlab? The goal is to evaluate the following:
where the function ϕ is defined as
where . The notation seems a bit weird to me since the argument of ϕ in the second equation is only part of the argument where it appears in the first equation. I imagine that just means μ is re-defined in terms of itself. Assuming that's correct, how do I do this nested integral?

Accepted Answer

Torsten on 28 Dec 2022
mu = -20:0.01:20;
f = @(mu) integral2(@(u,sigma) sin(mu*sqrt(1-sigma.^2).*cos(pi/2*u)).*(sin(mu*sigma/2)).^2,0,1,0,1);
P = arrayfun(@(mu)f(mu),mu);
Torsten on 29 Dec 2022
Edited: Torsten on 29 Dec 2022
Yes, a for-loop over the elements of mu.
But I don't think that "arrayfun" is the time-consuming part - it's "integral2".

Sign in to comment.

More Answers (0)


Find more on General Applications in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by