How can I do integral from discrete data points?

I have data "x" and "y" stored as arrays in MATLAB. How can I evaluate the area under the curve just from my data?

 采纳的回答

You can first interpolate your data to get a function handle. Then, you can use "integral" to integrate your data:
1. Create 50 sample data to work with
>> n = 50;
>> x = linspace(0, 2*pi, n);
>> y = sin(x) + 0.1*randn(1,n);
 2. Plot the data to  visualize it
>> plot(x,y,'x');
 3. Create an interpolation of the data, and save it as a function handle:
>> F = griddedInterpolant(x,y);
>> fun = @(t) F(t)
 4. Plot the function to visualize:
>> plot(x, fun(x))
 5. Integrate the function with respect to x:
>> q = integral(fun, x(1), x(end))
 

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Interpolation of 2-D Selections in 3-D Grids 的更多信息

产品

版本

R2017b

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by