在matlab中将数组位置创建为动态数组

时间:2015-02-25 11:27:00

标签: arrays matlab

我是Matlab的新手。 我有一个维度数组 Table_cluster 。我在无线传感器网络中工作。所以我的概念是所有节点都会将数据发送到相关的簇头。集群头将聚合它们。

假设

有5个节点与簇头11相关联。每个节点将发送256个字节的数据。因此簇头将获得5 * 256个字节的数据。我需要聚合它。

这将适用于所有100个节点及其关联的簇头。

现在假设

node 1 is associated with cluster head 11.
node 2 with cluster head 12.
node 3 with cluster head 11.
node 4 with cluster head 11.
node 5 with cluster head 12.

我需要的是维护诸如

之类的数组
 Table_cluster(11)={1,2....,3*256} %% 1,2,...,3*256 indicates position . Data can be any.
 Table_cluster(12)={1,2....,2*256}

我试图找出如何在另一个包含动态大小的数组中转换数组的位置。但是我找不到它。

所以请帮助或建议我实现我的概念。

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您需要将数组存储到另一个数组中。这意味着您的Table_cluster将成为一个单元格数组。

在表格群集内,您可以存储2D数组的单元格。在您的情况下,2D阵列的大小实际上是1x256 2x256等(如果我理解的话)。这是您的Cluster头聚合它们的地方。为此,您需要了解MATLAB单元阵列以及如何索引它们。正如@Divakar在他的评论中指出的那样,单元阵列索引与1-D或2D阵列的索引不同。你有{}大括号来做索引。