how can i solve numerically a vector integral?

I have a plot of gaussian alike profile in matlab.
the plot presents the intensity (I) profile( E^2) as a function of location(radius) r.
i need to calculate the integral of I(r)*r*dr which is the area under the graph, i tried solving with trapz but the answer isnt correct, so how can i calculate this integral when
I(r) is a vector and r is a value i know?plot.PNG

5 Comments

integral() with arrayvalued option?
trapz(r,I.*r) is too inexact ?
The intensity is normalized so i should get area under the graph= 1,
the plot looks like that
plot( r_vector,intensity_vector), so i tried trapz(r_vector,intensity_vector) to get the area under the graph is it correct? for this option the result is 1.7
thank you
As I wrote,
trapz(r_vector,r_vector.*intensity_vector)
if you want to approximate
integral(I(r)*r*dr )

Sign in to comment.

Answers (0)

Asked:

Adi
on 15 Jan 2019

Commented:

Adi
on 16 Jan 2019

Community Treasure Hunt

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

Start Hunting!