File 在循环中读取文件[julia]?

File 在循环中读取文件[julia]?,file,file-io,julia,File,File Io,Julia,我已经存储了10个文件:文件1,文件2,直到文件10。 我编写了一个for循环,通过声明一个变量dc dc[1]直到dc[10]对应于每个文件file1file10来读取文件,但我得到了一个错误:未定义变量dc 如何将dc初始化为500×500个元素 dc[1]#(500500)元件 ……dc[10]#(500500)元件 首先需要初始化对象dc,例如 dc = Array{Any}(10) 请注意,这对性能不是很好-如果可以指定函数、数组等的类型,Julia的效果会更好。但是,由于示例中不清

我已经存储了10个文件:文件1,文件2,直到文件10。 我编写了一个for循环,通过声明一个变量dc dc[1]直到dc[10]对应于每个文件file1file10来读取文件,但我得到了一个错误:未定义变量dc

如何将dc初始化为500×500个元素

dc[1]#(500500)元件 ……dc[10]#(500500)元件


首先需要初始化对象
dc
,例如

dc = Array{Any}(10)
请注意,这对性能不是很好-如果可以指定函数、数组等的类型,Julia的效果会更好。但是,由于示例中不清楚元素是什么,因此type
Any
至少会创建一些在您的情况下适用的通用类型。而且,如果性能不是一个具体的问题,那么它暂时还可以

看起来您的对象可能是500x500数组类型的对象。如果确实如此,那么您可以预先分配一个由10个包含Float64类型对象的二维数组组成的数组(前提是您拥有的数据类型)。例如:

如果您特别希望预分配500x500阵列,则问题稍微复杂一些

请注意,初始化数组的语法为:

数组{T}(dims)

构造元素类型为T的未初始化密集数组。dims可以是元组或一系列整数参数。语法数组(T,dims)也可用,但已弃用

Julia中数组的类型包含维数,但不包含这些维数的大小。因此,如果您想将
dc
初始化为一个500x500数组的数组,最好了解一下:

dc = [Array{Float64}(500,500) for i in 1:10];

注意:根据@David Sanders的有用评论,替换(即将弃用)语法

您首先需要初始化对象
dc
,例如

dc = Array{Any}(10)
请注意,这对性能不是很好-如果可以指定函数、数组等的类型,Julia的效果会更好。但是,由于示例中不清楚元素是什么,因此type
Any
至少会创建一些在您的情况下适用的通用类型。而且,如果性能不是一个具体的问题,那么它暂时还可以

看起来您的对象可能是500x500数组类型的对象。如果确实如此,那么您可以预先分配一个由10个包含Float64类型对象的二维数组组成的数组(前提是您拥有的数据类型)。例如:

如果您特别希望预分配500x500阵列,则问题稍微复杂一些

请注意,初始化数组的语法为:

数组{T}(dims)

构造元素类型为T的未初始化密集数组。dims可以是元组或一系列整数参数。语法数组(T,dims)也可用,但已弃用

Julia中数组的类型包含维数,但不包含这些维数的大小。因此,如果您想将
dc
初始化为一个500x500数组的数组,最好了解一下:

dc = [Array{Float64}(500,500) for i in 1:10];

注意:根据@David Sanders的有用评论,替换了(即将弃用)语法

Michael的回答是正确的,但请仔细阅读文档/在发布之前进行谷歌搜索!如果您需要更多帮助,请阅读这些内容@亚历山大·莫利是对的。此外,请注意,如果你有太多的反对票问题,你可能会受到问题禁令。有关更多详细信息,请参阅。每个人都在学习,所以不要太难,但是你可以对Julia basics做更多的背景阅读(如Alexander提供的链接),你可以阅读更多关于发布好问题的信息,迈克尔的答案是正确的,但请仔细阅读文档/在发布前进行谷歌搜索!如果您需要更多帮助,请阅读这些内容@亚历山大·莫利是对的。此外,请注意,如果你有太多的反对票问题,你可能会受到问题禁令。有关更多详细信息,请参阅。每个人都在学习,所以不要太难,但是你可以在朱莉娅的基础上做更多的背景阅读(比如亚历山大提供的链接),并且你可以阅读更多关于发布好问题的信息,你的状态就越好。