2016-09-05 2 views
0

l은 file1, file2, file10까지 10 개의 파일을 저장했습니다. l 각 파일 file1file10에 해당하는 dc [10]까지 변수 dc dc [1]을 선언하여 for 루프를 코딩했으나 정의 된 변수 dc가 아닌 오류가 발생했습니다. 500 (500)에 의해 소자루프에서 파일을 읽는 중 [줄리아]?

DC [1] # (500,500) 요소 DC ....... [10] # (500,500) 요소

for i in 1:10 
     dc[i]=jldopen("/path to file/file$i.jld", "r") do file 
      read(file, "a") # alternatively, say "@write file mini_batch" 
      end 
    end 
+1

마이클의 대답은 정확하지만 신중하게 문서를주의 깊게보고/글을 게시하기 전에 Google 검색을 수행하십시오! 좀 더 도움이 필요하면 이것들을 읽으십시오. http://docs.julialang.org/en/release-0.4/manual/arrays/ & http://quant-econ.net/jl/julia_arrays.html –

+1

@AlexanderMorley가 정확합니다. 또한 부정적인 투표 질문이 너무 많으면 질문 금지 대상이 될 수 있습니다. 자세한 내용은 [here] (http://stackoverflow.com/help/question-bans)를 참조하십시오. 모두가 배우기 때문에 너무 열심히하지 말고 줄리아 기본 (알렉산더 링크에서와 같이)에서 할 수있는 배경 지식이 많을수록 좋은 질문을 올리는 데 필요한 정보를 더 많이 읽을수록 더 좋은 당신이있을 모양. –

답변

2
로 DC를 초기화하는 방법

먼저 객체 dc을 초기화해야합니다. 이 요소가 될 것입니다 무슨의 예에서 명확하지 않기 때문에 당신이 등의 기능, 배열,의 유형을 지정할 수 있지만 경우 줄리아 훨씬 더 잘 작동 -이 성능을 위해 아주 좋은 아니라고

dc = Array{Any}(10) 

주 , 유형 Any 적어도 귀하의 상황에서 작동합니다 뭔가 일반적인 만들 것입니다. 그리고 성능이 특정 관심사가 아니라면 당분간 정상적으로 진행될 것입니다.

개체가 500x500 배열 유형 개체 인 것으로 보입니다. 이것이 사실이라면 Float64 유형 객체 (포함 된 데이터 유형)를 포함하는 10 개의 2 차원 배열로 구성된 배열을 미리 할당 할 수 있습니다. 예 :

dc = Array{Array{Float64, 2}}(10) 

특별히 500x500 어레이를 사전 할당하려는 경우 문제가 다소 복잡합니다.

주 배열을 초기화하기위한 구문 있음 :

어레이 {T} (희미)

소자 형 T.와 초기화 조밀 배열 튜플 또는 수있다 어두워 구축 일련의 정수 인수. 구문 Array (T, dims)도 사용할 수 있지만 더 이상 사용되지 않습니다.

줄리아의 배열 유형에는 치수의 수는 포함되지만 치수의 크기는 포함되지 않습니다. 당신은 500x500 배열의 배열로 특별히 dc를 초기화하려는 경우 따라서, 당신은 이해를 사용하는 것이 가장 좋은 것 :

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

: 대체 (곧되지되는) 구문에서 도움이 의견에 따라 @ David Sanders