2016-09-05 1 views
0

には、file1、file2、file10までの10個のファイルが保存されています。 l変数for dc dc [1]を各ファイルfile1file10に対応するdc [10]まで宣言してファイルを読み込むためにforループをコーディングしましたが、エラー:定義されていない変数dcがあります。ループ内のファイルを読む[julia]?

方法500 500によって要素

DCであることが、DCを初期化するために、[1]#(500500)要素 ....... DC [10]#(500500)要素

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

マイケルの答えは正しいですが、慎重にドキュメントを慎重に見てください/ SOに投稿する前に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)を参照してください。誰もが学んでいるので、あまりにも難しくはありませんが、Juliaの基本(Alexanderが与えたリンクのように)でできるバックグラウンドの読書が増え、良い質問を投稿するとSO情報を読むことができます。あなたがいることになる形。 –

答えて

2

まずオブジェクトdcを初期化する必要があります。これは、パフォーマンスのために非常に良いではないことを

dc = Array{Any}(10) 

注 - 要素がどうなるかの例からも明らかではありませんので、あなたは、などの機能、配列、の型を指定することができますが、場合ジュリアははるかに良い作品タイプAnyは、少なくともあなたの状況で動作する一般的なものを作成します。パフォーマンスが特定の問題でない場合は、当分の間はうまくいくでしょう。

あなたのオブジェクトはおそらく500x500の配列タイプのオブジェクトに見えます。そうであれば、Float64型オブジェクトを含む10個の2次元配列の配列を事前に割り当てることができます(与えられたデータ型で提供されます)。例:

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

具体的に500x500アレイを事前に割り当てたい場合は、少し複雑です。

注アレイを初期化するための構文は次のとおりであること:

配列{T}(薄暗くなり)

は、要素型Tに初期化されていない緻密なアレイがタプルであってもよい暗く構築一連の整数引数。構文Array(T、dims)も使用できますが、非推奨です。

Juliaでの配列の型には、次元の数は含まれますが、それらの次元のサイズは含まれません。

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

:置き換え(まもなく廃止されるため)構文から役に立つコメントに基づいてこのように、あなたがdcを初期化したい場合、特に500×500配列の配列として、あなたは理解して最高のオフになります@David Sanders

関連する問題