How to integrate a vector-valued function?
Afficher commentaires plus anciens
I am trying to calculate the attached integral. I have data as vectors r and f(r) tht I load as r and fr, respectively.. The vector x should have the same range as r. Is the following correct? I'm not sure how I should incorporate the fact that f(r) is a function of r, or how the integral depends on x as well.
I try
x = linspace(0.05,17.95,180)';
fun = @(x,r) (r.^2).*(fr-1).*sin(x.*r)./(x.*r);
eq1 = integral(@(r) fun(x,r),0,r(end),'ArrayValued',1);
eq2 = cumtrapz(r,(r.^2).*(fr-1).*sin(x.*r)./(x.*r));
But I get two different answers. Again, r and fr (= f(r)) are both vectors of numbers. Is either eq1 or eq2 one correct? Is neither? I have limited understanding of anonymous functions and numerical integration in MATLAB.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Numerical Integration and Differentiation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!