我想知道在 Julia 中严格定义列向量的简单方法,例如,我想要一个 3 行列向量B:
julia> columnVectorB
3×1 Array{Float64,2}:
1.0
2.0
3.0
Run Code Online (Sandbox Code Playgroud)
虽然我认为正常的方法是:
julia> columnVectorB = [1.; 2.; 3.]
julia> columnVectorB
3-element Array{Float64,1}:
1.0
2.0
3.0
Run Code Online (Sandbox Code Playgroud)
我必须这样做的原因是,如果在 JuMP 中使用矩阵操作时以正常方式定义列向量,则会出现烦人的问题。问题之一是:
julia> using JuMP
julia> using GLPKMathProgInterface
julia> n = 1
julia> model_mas = Model(solver = GLPKSolverLP())
julia> @variable(model, vec_y[1: n] >= 0, Int)
julia> vec_y
1-element Array{Variable,1}:
vec_y[1]
Run Code Online (Sandbox Code Playgroud)
该n指示vec_y可以是n个变量的列向量。它也是列数B,所以B实际上是一个矩阵。当 时n > 1,没有问题。当n = 1,B成为列向量。那么,就会出现一个问题:
julia> …Run Code Online (Sandbox Code Playgroud)