Problems with numerical integration with 2 variables
2 views (last 30 days)
Show older comments
Imagine I have an integral like this:
I can't use integral2!
In this expression, the internal integrals in are not analytical, so they must be done numerically. I can solve the whole equation? I have troubles doing the numerical integrals inside the big integral, because it can't give me an approximated equation in θ. If it was only one integral in theta prime, it would be solvable by "integral2", but it's not the case because there's a product of two ones.
Sergio Scalabrino
0 Comments
Accepted Answer
Torsten
on 26 Mar 2019
Edited: Torsten
on 26 Mar 2019
function main
Result = integral(@fun,0,pi/2)
end
function funret = fun(theta)
n = numel(theta);
funret = zeros(n,1);
for idx=1:n
funret(idx) = integral(@(thetastrich)f(theta(idx),thetastrich),0,pi)*...
integral(@(thetastrich)g(theta(idx),thetastrich),0,pi);
end
end
function fret = f(theta,thetastrich)
fret = ...;
end
function gret = g(theta,thetastrich)
gret = ...;
end
4 Comments
Torsten
on 27 Mar 2019
Edited: Torsten
on 27 Mar 2019
I don't have to choose any discretization in theta or thetastrich ; "integral" does.
Furthermore, you can use a function instead of a function handle in order to define the function to be integrated .
Your integral can be interpreted as composed of an outer integral in "theta" and an inner function that depends on "theta". This inner function is evaluated for a vector of "theta"- values in "fun". In order to evaluate it, further two calls for given "theta"-values to "integral" are necessary to integrate f and g and form the product of these integrations.
Take in mind that functions "f" and "g" must be able to handle vector input for "thetastrich" and return a vector of the same size as "thetastrich" in "fret" and "gret".
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!