在我的C#代码中使用Excel中的大数据的最有效方法是什么?

时间:2019-01-30 00:12:09

标签: unity3d

我为摆锤进行了计算机仿真,以测量到达每个速度和每个角度的最低点所需的时间。

您可以想象有很多数据,成千上万条线用于所有角度和速度。

在每一帧上,我都将测量摆的速度和角度,并在Excel电子表格中寻找最接近的数据。

如何解决这个问题,以确保它不会占用过多CPU资源?

我应该创建一个庞大的数组,其中每个元素都对应一个特定角度:例如,myArray [30]将适用于所有速度在30.0度和30.999之间的所有数据。 (这样可以避免很多if语句)

还是应该将所有内容保留在Excel电子表格中? 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是根据分布将数据分为几个间隔,因为您必须在每个帧中访问该数据。然后,在测量速度和角度时,您可以查找间隔并仅访问数据的那部分。

在导入到Unity时,我会找到最大和最小数据点,然后根据(maximum - minimum) / NumOfIntervals划分该部分。假设每个角度的间隔大小为5。当角度为17时,您可以执行(int)15/5 = 3(假设索引从零开始),然后转到结构中的第三项。这可以是基于您的数据的字典或任意类实例的数组。

如果您可以共享数据的结构,我可以尝试提供进一步的帮助。但是我认为将数据平均分配到每个间隔很重要。