我正在研究建立分布熵的函数。它使用 copula,如果有熟悉的话。我需要根据“关心”的维度来总结数组中的值。
示例:考虑以下示例...
维度 0(横向) _ _ _ _ _ _ _ _ _ _ _ _ _ |_ 0 _|_ 0 _|_ 0 _|_ 2 _| 维度 1 |_ 1 _|_ 0 _|_ 2 _|_ 0 _| (向下) |_ 0 _|_ 3 _|_ 0 _|_ 6 _| |_ 0 _|_ 0 _|_ 0 _|_ 0 _| 我只“关心”维度 0,而“不关心”其余维度(维度 1)。 将此数组与上述规格相加将 将维度 1 的“堆栈”“折叠”为单个 4 x 1 数组: _ _ _ _ _ _ _ _ _ _ _ _ _ |_ 1 _|_ 3 _|_ 2 _|_ 8 _| 然后可以将其相加,或执行任何操作。
我需要用一个'n'维度的数组来做到这一点,这可能是20。此外,我需要能够做到这一点,关心某些维度,并折叠其余的维度。我对此特别困难,因为我无法想象 20 个维度:p。如果有人可以帮助我设置一些 c/c++ 代码来折叠/求和,我将非常感激。
更新:
刚到家。这里有一些信息可以回答您的问题:
- 很抱歉回滚编辑,我希望当我单击回滚时它会向我显示更改,以便我可以看到我搞砸了,有点像维基百科。事实并非如此,正如我发现的那样。
- @jeff - 什么没有意义?我使用这项出色的服务是出于(我认为是)合法的原因。我想在我的爱好上做得更好,就像我在高中一样。我的许多帖子都与实现遗传算法有关(这篇文章,稀疏数组,排列数组,指针操作)。
- 我使用的是稀疏数组表示,因为使用传统(密集)数组可能会超过宇宙中的分子数量。目前,sparsearray 本身的实现并不重要,因为我正在努力使其与标准数组一起工作,然后再进行稀疏表示。对于那些还没有看过我之前的问题的人,我使用二叉搜索树作为包含稀疏数组点的结构,并使用“驱动程序”函数在必要时遍历树,返回该函数的设计用途。这是灵活的,所以我可以容纳许多不同的访问数组的方法。
- 该结构是一个超立方体,并且在运行时指定了维度的数量,以及每个维度的长度(它们都是相同的,因为它是一个超立方体)。
感谢大家的投入。