【问题标题】:How can a single matrix element be accessed in Matlab / Octave?如何在 Matlab / Octave 中访问单个矩阵元素?
【发布时间】:2012-09-09 15:45:40
【问题描述】:

假设我有:

>> X = magic(5)
X =

   17   24    1    8   15
   23    5    7   14   16
    4    6   13   20   22
   10   12   19   21    3
   11   18   25    2    9

如何从第二列获取第 i 个元素?

我已经发现 Octave 中(一些?)集合中的索引是基于 1 的,但我不确定这是否也适用于矩阵。

【问题讨论】:

    标签: matlab matrix octave


    【解决方案1】:

    请参阅手册的index expressions 部分。从第二列获取第 i 个元素:

    X(i,2)      # element 'i' from column 2
    X(1:end,2)  # the whole 2nd column
    X(:,2)      # same thing but shorter
    x(:, [2 3]) # whole 2nd and 3rd column
    

    请注意,Octave 是一种数组元素位于 column-major order 中的语言。

    【讨论】:

    • @wvxvw 空格无关紧要。将索引视为将参数传递给函数,每个参数都是一个矩阵。 [2 3] 是一个向量, 1:5 也是一个向量(范围), 1:end 也只是一个范围,它简单地将end 解释为最后一个。您可以对每两个执行 1:2:end,就像使用简单范围一样。
    • @wvxvw 试试看。您已经安装了 Octave。是否返回相同的结果?
    • @wvxvw 这是有意的。 : 仅用于范围和在 Octave 中选择整行和整列,都是一样的。关于昵称,我在评论我的答案时会自动收到通知,所以不需要。
    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    相关资源
    最近更新 更多