获取不同设置位置的矩阵中的数字

时间:2016-09-19 10:44:24

标签: matlab

我有一个带数字的矩阵1x5000。现在我感兴趣的是从矩阵中获取不同位置的值,更准确地说是在矩阵的六个不同位置。这些地方应该根据长度,这些是我想要的数字:

  1. 矩阵长度的1/6中的数字
  2. 矩阵长度的2/6中的数字
  3. 矩阵长度的3/6中的数字
  4. 矩阵长度的4/6中的数字
  5. 矩阵长度的5/6中的数字
  6. 矩阵长度的6/6中的数字
  7. 这些值可以打印在另一个矩阵中,因此假设矩阵为1x5000,则3/6将给出矩阵中间的数字。我是Matlab的新手,因此非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

由于你的问题不清楚,我可以尝试给你一个例子。 首先,您可以使用numel函数来获取矩阵的大小。

在Matlab中很容易获得必要的元素:如果你知道它的数字(索引),你可以直接解决任何元素。所以: let consoleDest = ConsoleDestination(owner: myLogger, identifier: "") // myLogger is an instance of XCGLogger consoleDest.formatters = [MyFormatter()] // MyFormatter is a struct conforming to LogFormatterProtocol myLogger.add(destination: consoleDest) 返回第100个元素。 现在你有了尺寸,知道该怎么做。最后一刻 - 如果x(100)返回非整数怎么办?

您可以使用舍入功能:ceilfloorround

numel(x) / 6

下一步:有很多方法可以划分数据。例如,现在你只有6个数字(1 / 6,2 / 6等),但如果有1000个呢?你不能手动完成。所以你可以使用index = ceil(numel(x)/6) %if you want NEXT element always result = x(index) 循环,或者你可以使用索引矩阵或完善comment Stewie Griffin

我的例子:

for

答案 1 :(得分:0)

MATLAB中的冒号表示法提供了一种从v:

中提取一系列元素的简便方法
v(3:7)    %Extract the third through the seventh elements

您可以手动输入范围或使用函数将分数转换为合适的范围