小编Pet*_*lls的帖子

在MATLAB中使用find函数的问题

我有两个数据阵列,我正试图合并.一个包含来自第一列实验的实际延迟(例如0.345,0.455 ...从不超过3个小数位),以及该实验的其他数据.另一个包含有效的"查找"延迟列表,范围从0.001到0.500,以0.001为增量,以及其他数据.两个数据集都是X-by-Y双精度数.

我想做的是......

for i = 1:length(actual_latency) 
   row = find(predicted_data(:,1) == actual_latency(i))
   full_set(i,1:4) = [actual_latency(i) other_info(i) predicted_info(row,2) ...
                      predicted_info(row,3)];
end
Run Code Online (Sandbox Code Playgroud)

...为了找到predicted_data查找延迟对应于实际延迟的相关行.然后我用它来创建一个合并的数据集full_set.

我想这将是非常简单的,但查找功能一直被扔了寻找一个实际的等待时间,我当空矩阵未能知道predicted_data(:,1)(因为我已经双重检查调试期间).

此外,如果我用for循环替换find来做同样的工作,我会得到类似的错误.它似乎不是系统性的 - 使用不同的参与者数据集会在不同的地方引发它.

此外,在调试模式下,如果我使用find来尝试查找硬编码值actual_latency,它并不总是有效.有时是,有时没有.

我真的对此感到头疼,所以如果有人对可能发生的事情有任何想法,我会非常感激.

floating-point matlab find

2
推荐指数
1
解决办法
5100
查看次数

标签 统计

find ×1

floating-point ×1

matlab ×1