提问人:Lwelly Ebah 提问时间:11/18/2023 最后编辑:Heretic MonkeyLwelly Ebah 更新时间:11/18/2023 访问量:26
有没有办法在 Octave 中创建一个矩阵,其中每个元素都等于前一个元素 +10
Is there a way to create a matrix in Octave with every element equal the previous one +10
问:
我正在尝试创建这个矩阵,该矩阵的行中的每个元素都等于前一个元素 + 10 和列 + 1 例:
[ 1. 11. 21
2. 12. 22
3 13. 23
]
我刚刚完成了课程,这是在练习中,我不知道该怎么做。
答:
0赞
Nick J
11/18/2023
#1
您显示的示例矩阵可以使用广播操作来制作,其中包含包含结果的方向分量的单个数组。在水平方向上,数字增加 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
评论
1赞
Cris Luengo
11/18/2023
[…]
是串联运算符,你不需要它。使用括号更改操作顺序被认为更简洁:。(0:10:40) + (1:4).'
0赞
Nick J
11/20/2023
没错,但为了保持示例之间的连续性,需要解释的符号更改少了一个。
评论