如何在MATLAB中从矩阵中选择特定数量的行

时间:2016-11-30 10:53:30

标签: matlab matrix

假设我在MATLAB中加载了一个矩阵,它有1822行和3列。

我想从该矩阵中选择总行数的1/10。

我尝试了以下内容,

>> train(size(train,1)/10,:)
error: subscript indices must be either positive integers less than 2^31 or logicals

显然,它没有用。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

你的分裂正在返回一个浮点数,因为错误明确指出:

 error: subscript indices must be either positive integers less than 2^31 or logicals

但是,即使size(train,1)/10是一个整数,它也不会按你的意愿工作,因为它只返回第10%的行,而不是所有的元素,直到第10行。

你需要一个整数并从第一个元素中对它进行切片,然后只是截断@GameOfThrows所述的数字。

 >> train(1: fix(size(train,1)/10), :)

下面:

  1. 最后一个, :选择目标行中的所有列。
  2. 第一个1: fix(size(train,1)/10),选择第一行1的所有行,直到第10行fix(size(train,1)/10)

答案 1 :(得分:0)

mymat(1: floor(size(mymat,1)/10),:)

所以@GameOfThrows发布的评论确实有效。