Numerical integral at irregular intervals of scattered data

I have two vectors x,y of equal size (for example 5000 elements), ranging from 0 to 1 (containing scattered data, but already sorted in increasing order). I want to evaluate the numerical integral of y(x) for each interval defined by the following vector [0 0.27 0.38 0.46 0.53 0.60 0.65 0.71 0.76 0.80 0.85 0.89 0.93 0.96 1] by means of trapz. How can I obtain the vector of evaluated integrals at each interval?

 Réponse acceptée

First use cumtrapz for cumulated integration, then use interp1 to interpolate to your vector:
z=cumtrapz(x,y);
zinter=interp1(x,z,xinter);
where xinter=[0 0.27 0.38 0.46 0.53 0.60 0.65 0.71 0.76 0.80 0.85 0.89 0.93 0.96 1]
Best wishes
Torsten.

3 commentaires

I tried your method, but I got this error message:
Error using griddedInterpolant The grid vectors are not strictly monotonic increasing.
You wrote you already sorted x in increasing order...
Best wishes
Torsten.
matnewbie
matnewbie le 18 Nov 2015
Modifié(e) : matnewbie le 18 Nov 2015
Thank you, but I posted a new question, since I am not interested anymore in irregular intervals.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by