Discretise into Equal Intervals

조회 수: 8 (최근 30일)
simply90
simply90 2014년 1월 21일
댓글: simply90 2014년 1월 21일
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에서 Surface and Mesh Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by