【问题标题】:How to scan all rows but only first column at a matlab matrix如何在matlab矩阵中扫描所有行但只扫描第一列
【发布时间】:2012-11-15 17:23:49
【问题描述】:

我想扫描一个矩阵的所有行。取所有第一列或 x 列并将它们放入另一个新矩阵中。我该怎么做?

下面的示例矩阵

    input_matrix_training={
{0.645569620253164,0.443037974683544,0.177215189873418,0.0253164556962025};
{0.620253164556962,0.379746835443038,0.177215189873418,0.0253164556962025};
{0.594936708860759,0.405063291139241,0.164556962025316,0.0253164556962025};
}

例如,让我们扫描行并制作只有第一列的新矩阵

结果:0.645569620253164, 0.620253164556962, 0.594936708860759

谢谢

matlab,矩阵

【问题讨论】:

    标签: matlab matrix octave


    【解决方案1】:

    首先,你拥有的是一个细胞,这使得它变得更加困难。如果可以,请输入如下数据:

    input_matrix_training=[
      0.645569620253164 0.443037974683544 0.177215189873418 0.0253164556962025
      0.620253164556962 0.379746835443038 0.177215189873418 0.0253164556962025
      0.594936708860759 0.405063291139241 0.164556962025316 0.0253164556962025];
    

    一旦你有了它,就很容易了。

    input_matrix_training(:,1)
    

    或第一行:

    input_matrix_training(1,:)
    

    【讨论】:

    • 如果不能,您可以通过[input_matrix_training{:, 1}] 获取仅包含元胞数组第一列的数值数组。
    【解决方案2】:

    使用冒号运算符。在下面的示例中,(:,1) 表示所有行,第 1 列

    取第一列:

    first_column = input_matrix_training(:,1);

    取第 2 到 4 列:

    two_to_four = input_matrix_training(:,2:4);

    取前 x 列:

    x = 3;
    first_x = input_matrix_training(:,1:x);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多