2017-12-13 3 views
1

私はまだJuliaで新しくなっていますが、JuMPの@expression文で自己参照を行う方法があるかどうかは疑問でした。例えばJuliaの@expression文の自己参照

私はこの文を作ることができるようにしたいと思います:

D = [1 2 3 1 2 3 1 2 3]

しかし、ジュリアはちょうど告げる瞬間のために、以下のようにベクトルDを定義し

n = 3 @expression(model_opt, D[i=1:9], i>n ? D[i-n] : i)

私はDが知られていません

UndefVarError: D not defined

ご協力いただきありがとうございます!

答えて

1

ジュリアにようこそ、あなたは乗り込んでいます。いいえ、それはサポートされていません。代わりにループを書くことができます:

D = [] 
n = 3 
for i in 1:9 
    push!(D, @expression(model_opt, i>n ? D[i-n] : i)) 
end