有没有办法在 Octave 中创建一个矩阵,其中每个元素等于前一个元素 +10

问题描述 投票:0回答:1

我正在尝试创建这个矩阵,其中行中的每个元素等于前一个元素 + 10,列中的每个元素等于 + 1 示例:

 [ 1.  11.  21
   2.  12.  22
   3   13.  23
 ]

我刚刚完成课程,这是在练习中,我不知道如何去做。

math matrix octave
1个回答
0
投票

您显示的示例矩阵可以使用广播操作和包含结果的方向分量的单个数组来制作。在水平方向,数字增加 10(从零 10 开始)。在垂直方向上,它们增加 1(从 1 开始)。

所以,最简单的是,我们可以这样做:

[0, 10, 20] + [1;2;3]
ans =

    1   11   21
    2   12   22
    3   13   23

(注意 , 分隔列元素, ; 分隔行元素)

现在,对于更大的数组,您还可以使用索引表示法来创建这些数组:

[0:10:40] + [1:4]'
ans =

    1   11   21   31   41
    2   12   22   32   42
    3   13   23   33   43
    4   14   24   34   44

注意

'
将行向量转置为列向量。

最后,您可以使用任意大小的变量:

 n = 4, 10*[0:n] + [1:n]'
n = 4
ans =

    1   11   21   31   41
    2   12   22   32   42
    3   13   23   33   43
    4   14   24   34   44
© www.soinside.com 2019 - 2024. All rights reserved.