我有一张下表 - borehole_id深度从深度到深度颜色
DWASA030 0 3 3 Brown
DWASA030 3 6 3 Yellow
DWASA030 6 15 9 Grey
DWASA030 15 18 3 Black
DWASA030 18 21 3 Brown
DWASA030 21 30 9 Light Brown
DWASA030 30 34 4 Light Brown
DWASA030 34 37 3 Light Brown
DWASA030 37 46 9 Light Brown
DWASA030 46 82 36 Light Brown
DWASA030 82 104 22 Light Brown
我需要做的是将行分成2米的相等间隔(在负方向,即-2米间隔)。输出表将创建一个附加列(“除法”),该列用于计算负方向的间隔。如果有数据以奇数结尾,则会考虑先前的信息。例如,第一行有信息,其中土壤的棕色存在,直到距离顶部3米深。因此,它将从0开始,然后以-2米的间隔继续。然后在下一个级别达到4级时,它将继续使用棕色的现有值。 borehole_id深度从深度到深度颜色分割
DWASA030 0 3 3 Brown 0
DWASA030 0 3 3 Brown -2
DWASA030 3 6 3 Yellow -4
DWASA030 3 6 3 Yellow -6
DWASA030 6 15 9 Grey -8
DWASA030 6 15 9 Grey -10
DWASA030 6 15 9 Grey -12
DWASA030 6 15 9 Grey -14
DWASA030 6 15 9 Grey -16
DWASA030 15 18 3 Black -18
DWASA030 18 21 3 Brown -20
DWASA030 18 21 3 Brown -22
反馈或如何在MATLAB中执行此操作将非常有用。
答案 0 :(得分:0)
据我所知,钻孔表按照发生深度的顺序列出了每个钻孔的位置。为了找到在特定深度处遇到的钻孔,可以将钻孔起始深度视为“分隔器”。或" bins"。
我还没有测试过这段代码,但你会按照以下方式做点什么:
% The depth at which each borehole starts.
startDepths = boreTable(:, 2)
% The range of depths to check for which borehole occurs.
checkDepths = 0:2:max(startDepths)
% Row indices that tell which borehole occurs
ind = discretize(checkDepths, startDepths)
% Generate the table with the new list of indices
boreTableNew = boreTable(ind, :)