arrays - 在 Julia 中,如何初始化一个二维数组(矩阵),其中每个元素都是一个列向量?

标签 arrays vector initialization julia


使用 Julia 版本 1.7.3,我的理解是以下将 matrix 初始化为一个 9 × 9 矩阵,每个元素都未定义......

matrix = Array{Char}( undef, 9, 9 )

println( matrix )
display( matrix )
println( )
println( typeof(matrix) )
println( size(matrix) )

另外,我知道表达式 [ c for c = '1' : '9' ] 计算结果为 9 个字符的列向量(类型 Vector{Char}).


如何将上述内容组合起来创建一个 9 × 9 矩阵,其中每个矩阵的 81 个元素都是列向量 [ '1'; '2'; '3'; '4'; '5'; '6'; '7'; '8'; '9']? (我的期望是,每个列向量元素都将在我计划编写的程序中进行修改。)到目前为止,我最好的猜测是……

matrix = Array{Vector{Char}}( [ c for c = '1' : '9' ], 9, 9 )

尝试这样做会导致......

ERROR: LoadError: MethodError: no method matching (Array{Vector{Char}})(::Vector{Char}, ::Int64, ::Int64)

最佳答案


julia> [[ c for c = '1':'9' ] for _ in 1:9, _ in 1:9]
9×9 Matrix{Vector{Char}}:
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']  …  ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']  …  ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']
 ['1', '2', '3', '4', '5', '6', '7', '8', '9']     ['1', '2', '3', '4', '5', '6', '7', '8', '9']

请注意,数组可以是多维的(超过 2 维),因此 3 维数组也是一种选择。只需要进行一些小的更改:[ c for c = '1' : '9', _ in 1:9, _ in 1:9]

关于arrays - 在 Julia 中,如何初始化一个二维数组(矩阵),其中每个元素都是一个列向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72873692/

相关文章:

c - 为什么基址索引为 1 的 C 程序可以正常工作?

php - 如何为数组分配新的数字键并根据原始键进行排序?

arrays - 我如何在 Matlab 中定义结构

c++ - std::vector::end() 迭代器如何在内存中工作?

c++ - vector 迭代器比较

arrays - 如何在 MATLAB 中创建元胞数组并将所有元素初始化为同一对象?

java 创建一个类方法来搜索数组的字长

c++ - 二维 vector 和 vector map 有什么区别?

C++:在括号前初始化一些东西

ios - 扩展 UIAlertController 便利初始化警告