【发布时间】:2011-07-06 22:31:25
【问题描述】:
我有一个 1974x1 的向量 Upper,我试图将信息分解为每个包含 36 个项目的单独数组。所以,我用长度找到有1974个项目,然后除以36并使用floor函数。我无法弄清楚如何使用n 完成所有操作。
这是我的逻辑:我定义n 是为了找出需要定义的子集的数量。然后,我试图让子集成为子集 1、子集 2、...、子集 36。但是,MATLAB 仅将矩阵子集定义为 1x36 矩阵。但是,此矩阵包含应包含的子集 1 (1...36)。大家对新手有什么建议吗?我做错了什么?
binSize = 36;
nData = length(Upper);
nBins = floor(nData/36);
nDiscarded = nData - binSize*nBins;
n=1:binSize;
subsetn= [(n-1)*binSize+1:n*binSize];
【问题讨论】:
-
您能否简化您的示例并给出一些具体的预期结果:假设
Upper是5x1(实际上,假设它等于[10; 11; 12; 13; 14])并且binSize是2。subset1、subset2和subset3应该有什么值?subsetn的值应该是什么? -
感谢您的回复!这是一个示例:如果 Upper 是 5x1 并且 binSize 是 2,则将有 2 个子集。子集 1 将是 [1 2],子集 2 将是 [3 4]。在您的示例中, 5 将被丢弃。 subsetn 不应该存在,我写它是因为我想简化创建subset1 和subset2 的过程。
标签: arrays matlab vector matrix