创建一个像d = [1 2 3 4 5 6 7 8 9]
这样的数组创建了一个尺寸为2的数组(范围问题:为什么是两个维度?)。Julia数组范围访问
这可以用作矩阵和向量乘法中的行向量。 访问范围d[2:5]
不会返回排列在1x4
数组中的值。结果基本上是一个尺寸为4x1
的列向量。 (在Matlab/Octave中,当访问矢量的范围时,尺寸保持不变)。
但是,一个行矢量与d[:,2:5]
(但不包含d[1,2:5]
)一起返回。
这对我来说似乎很奇怪,因为这意味着我总是必须知道行/列向量。 那么这是真正的预期用途还是我在错误的道路上? 另外,有人可以解释为什么d[:,2:5]
工程,但d[1,2:5]
不?
“我一直都知道行/列向量”我认为这是预期的行为。 'd = [1 2 3 4 5 6 7 8 9]'有两个维度,因为在多个“列”上展开的所有东西都有第二维,即使该行只有一个维度。 – Antonello
通常不建议在FY中询问多个问题。 –
从技术上讲,上面提到的“行向量”实际上是一个“1行矩阵”,也就是1x4阵列。在Julia中,我们有一个'RowVector'类型(例如'd [2:5]。'',我们[认真考虑矢量转置](https://github.com/JuliaLang/julia/issues/4774):' [1,2,3]。'* [1,2,3]#=> 14'但是[1 2 3] * [1,2,3]#=> [14](1元素数组)与那些“马虎”的语言不同,你必须在Julia中认真对待所有这些;) – Gnimuc