Discretise into Equal Intervals

10 次查看(过去 30 天)
I have an array of data, 2 columns and 19 rows of entries, which can be plotted as a loglog curve. However, the x-data I have does not have standard intervals and I need to approximate the curve as a piecewise linear function. Any suggestions as to how to go about this?
  6 个评论
simply90
simply90 2014-1-21
Yes. Within x I was considering an interval of 0.07 to fit the data, as it isn't an increasing rate I couldn't make the function interp work as the interval was set, rather than a rate. Thanks so much for your help!
simply90
simply90 2014-1-21
It works! Thank you so much Bruno and dpb. I was able to start messing with the interp1 function, I was using the wrong one beforehand with your suggestion dpb, and Bruno your answer clarified it from there.
Thanks for your help!

请先登录,再进行评论。

采纳的回答

Bruno Pop-Stefanov
Bruno Pop-Stefanov 2014-1-21
编辑:Bruno Pop-Stefanov 2014-1-21
You can use several methods to interpolate data points from non-uniformly spaced points. There are listed here for one dimension:
Here is an example using interp1:
vq = interp1(c, v, xq)
where x are the (non-uniformly spaced) input points (the first row in your vector) with values v (the second row in your vector), and xq are the query points (your uniformly spaced points). The function returns the interpolated values at xq in the vector vq.
For uniformly-spaced query points, you can use:
x_begin = x(1,1); % your 0.005
x_end = x(end,1); % your 2.13
numPoints = numel(x(:,1)); % number of points in your original vector; you can change that
xq = linspace(x_begin, x_end, numPoints);
for numPoints linearly spaced between x_begin and x_end. If you prefer to specify the length of each interval instead of the number of points, you could write:
xq = x_begin : int_length : x_end;
with int_length = 0.07.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by