# Integration with discrete data - Matlab

I need to integrate function $$\int_0^1 pur\mathrm{d}r$$, where I only have discrete values for $$p$$,$$u$$ and $$r$$. So, if I multiply these values, would it be correct to integrate only that final value with some rule of numerical integration in Matlab, with boundaries 0 to 1?

I mean, how Matlab will know that I am integrating function where something inside function is dependent on $$\mathrm{d}r$$? It is necessary to know in symbolic integration.

Or do I need to integrate numerically only $$\int_0^1r\mathrm{d}r$$ and later myltiply everything with $$pu$$?

## 2 Answers

Assuming that $$p$$ and $$u$$ are evaluated at the same points as $$r$$, the MATLAB code to approximate this integral would be "trapz(r,p.*u.*r)". This integrates the vector of products of $$p$$, $$u$$, and $$r$$ against $$r$$. This assumes that $$r$$ actually ranges from 0 to 1, which it should if you are integrating with respect to $$r$$

If you're saying that $$p$$ and $$u$$ are scalar values and $$r$$ is a function when you numerically integrate just take the $$p \cdot u$$ outside

$$p \cdot u \int_{0}^{1} r dr \tag{1}$$

there is a series of rules for integration, called the newton cotes rules

$$\int_{a}^{b} f(x) dx \approx \sum_{i=0}^{n} w_{i} f(x_{i}) \tag{2}$$

there is a function called integral in matlab, you'd define the function and the bounds.

To do this you'd have your vectors

x = linspace(0,1,1000)

r =@(x)  p*u *x


then integrate it

q = integral(r,0 1)


something like that..but you have actual data..