increment high resolution distance data by lower resolution equal steps

2 次查看(过去 30 天)
I have distance data at very high resolution, uneven intervals, and want to reduce the resolution and have equal intervals. I know how to do this in excel vba but i'm having difficulty in figuring out how to do this in Matlab.
In excel vba, my code basically says the following:
% code
Increment value (IV) = 0.045 miles
Start Value (SV) = Active Cell
If active cell value > IV + SV
Then round active cell to nearest 0.05
Next cell until end of column...
end
Essentially, the vba code checks to see if a cell's value is > the point before my incremental value. If it is, it will round this distance point to the nearest 0.05 mile.
What is the best way to go about this code in matlab? Combination of functions? loop?

回答(2 个)

Star Strider
Star Strider 2017-4-5
I would use the interp1 function, using the linspace function to create the interpolation vector.

Guillaume
Guillaume 2017-4-5
Wouldn't
round(yourvector / desiredstep) * desiredstep
%or
round((yourvector - yourvector(1)) / desiredstep) * desiredstep
produce what you want? E.g.:
v = sort(round(1, 100)) + 1.25; %demo vector in uneven increments from 1.25 to 2.25
round(v / 0.05) * 0.05 %same vector rounded to the nearest 0.05 step.

类别

Help CenterFile Exchange 中查找有关 Downloads 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by