“无法将Array {Float64,2}类型的对象转换为Array {Float64,13}类型的对象

时间:2018-09-06 12:51:36

标签: arrays constructor julia matpower

我遇到以下错误

$(event.target).closest('div').css("border", "1px solid red") 

这是我尝试过的代码:

ERROR: "Cannot `convert` an object of type Array{Float64,2} to an object of type #Array{Float64,13} This may have arisen from a call to the constructor #Array{Float64,13}(...), since type constructors 

1 个答案:

答案 0 :(得分:1)

这是定义结构的方式

struct buscase
   baseMVA::Float64
   bus::Array{Float64,2}
   gen::Array{Float64,2}
   branch::Array{Float64,2}
end

现在您的命令mpc=buscase(100.00, ....可以使用

就像据说Array定义中的数字表示参数的数目。

您还可以使用Matrix类型,它是Array{T,2}的缩写:

struct buscase
   baseMVA::Float64
   bus::Matrix{Float64}
   gen::Matrix{Float64}
   branch::Matrix{Float64}
end

最后但并非最不重要的一点是,如果您想为数组设置固定大小,则应查看StaticArrays.jl包。但是,建议将此软件包用于最多10-20个元素的阵列(取决于观察到的性能提升)。