0

我想问是否有比我更好的方法来比较具有容差的数字。

编辑:似乎我的解释含糊不清。在文本中添加了一些信息。直到现在,这只是概念。我还没有编写任何程序。

我想相互比较大约 6000 个数字。测得的数字 [A] 比 [B] 的数字稍有偏差。[A] 是计算得到的分子的摩尔质量(具体为聚合物)。[B] 是测量的分子摩尔质量。由于测量误差和同位素丰度,测量的摩尔质量随着聚合物的每个添加重复单元而逐渐增加(= 分子中的更多元素,= 更多偏移)。摩尔质量的差异在较低的摩尔质量 (~ 0.1) 中相对较小,在较高的范围内可以达到 ~10。(此外,[B] 中的数字永远不会与 [A] 中计算的数字完全相同。)数字的范围从 ~100.000000 到 ~76000.000000(准确地说很多)。

我的目标是在 [B] 中找到一个数字的最接近的值,并将其链接到 [A] 中的一个数字,并将它们标记为“这个分子”。每个标记的数字/分子都不会被任何其他数字再次使用。[B] 的一个数字在 [A] 中只有一个匹配的数字,它们应该彼此相邻/写入。简而言之,我必须在 [A] 中找到最适合我的号码的 [B] 号码。(当 [B] 的两个或多个值与 [A] 相似且不可区分时,我也应该标记数字。但这是另一个问题)我现在的想法是,取一个数字 [A] 并比较它与 [B] 的每个数字。具有最低差异/偏移量的对 ( Num(A) – Num(B) ) 被认为是相同的并被进一步使用。

有一个更好的方法吗?是否有一个功能可以自行完成?您对我如何改进这种方法有什么建议吗?使用长度为 6000 的数组是否不好?

附带信息:我正在用 C 编程 实际值和理论值都存储在双数组中 [6000] 我正在将数据保存/写入 excel 中,如表结构

4

0 回答 0