Numerical integration in Matlab

10 vues (au cours des 30 derniers jours)
Moritz
Moritz le 23 Août 2013
Hi I want to numerically integrate some function in Matlab using "integral". Say f_int(x). However, f_int can not handle vector inputs. This seems to cause "integral" troubles? Any ideas how to quickly fix this, w/o having to rewrite f_int(x)? Thanks a lot. M

Réponses (1)

Andrei Bobrov
Andrei Bobrov le 23 Août 2013
Try:
f2_int = @(y)arrayfun(@(x)f_int(x),y);
out = integral(f2_int,a,b); % here a and b - double
  1 commentaire
Mike Hosea
Mike Hosea le 24 Août 2013
Modifié(e) : Mike Hosea le 24 Août 2013
Andrei's answer is the way I prefer to do it. However, in a pinch you can leverage the 'Arrayfun',true option to treat the problem as a vector-valued integral (just one that happens to return a vector of only one element)
out = integral(f_int,a,b,'ArrayValued',true);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by