Doing a nested numerical integral in Matlab

10 vues (au cours des 30 derniers jours)
L'O.G. le 28 Déc 2022
Modifié(e) : Torsten le 29 Déc 2022
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?
0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

Réponse acceptée

Torsten le 28 Déc 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);
plot(mu,P)
2 commentairesAfficher AucuneMasquer Aucune
L'O.G. le 29 Déc 2022
arrayfun is slow, is there a faster option?
Torsten le 29 Déc 2022
Modifié(e) : Torsten le 29 Déc 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".

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by