同时在Julia中包含Julia文件LoadError:StackOverflowError?

时间:2019-02-20 20:38:36

标签: julia stack-overflow

我正在尝试在Julia中包含一个数据文件,其中Struct数据类型将数据保存在矩阵中。矩阵尺寸为1000 * 13。

下面是一个类似的数据文件,仅包含少量条目:

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

mpc = buscase(100.00, 
[1  2   0   0   0   0   1   1   0   230 1   1.1 0.9;
2   1   300 98.61   0   0   1   1   0   230 1   1.1 0.9;
3   2   300 98.61   0   0   1   1   0   230 1   1.1 0.9;
4   3   400 131.47  0   0   1   1   0   230 1   1.1 0.9;
5   2   0   0   0   0   1   1   0   230 1   1.1 0.9;],

[1  40  0   30  -30 1   100 1   40  0   0   0   0   0   0   0   0   0   0   0    
0;
1   170 0   127.5   -127.5  1   100 1   170 0   0   0   0   0   0   0   0   0    
0   0   0;
3   323.49  0   390 -390    1   100 1   520 0   0   0   0   0   0   0   0   0    
0   0   0;
4   0   0   150 -150    1   100 1   200 0   0   0   0   0   0   0   0   0   0    
0   0;
5   466.51  0   450 -450    1   100 1   600 0   0   0   0   0   0   0   0   0    
0   0   0;],

[1  2   0.00281 0.0281  0.00712 400 400 400 0   0   1   -360    360;
1   4   0.00304 0.0304  0.00658 0   0   0   0   0   1   -360    360;
1   5   0.00064 0.0064  0.03126 0   0   0   0   0   1   -360    360;
2   3   0.00108 0.0108  0.01852 0   0   0   0   0   1   -360    360;
3   4   0.00297 0.0297  0.00674 0   0   0   0.9 0   1   -360    360;
4   5   0.00297 0.0297  0.00674 240 240 240 0   0   1   -360    360;]
)

1 个答案:

答案 0 :(得分:1)

您的问题有两种解决方案:

  1. 使您的定义仅使用浮点数,而不使用浮点数和整数的混合物(只需将.0添加到矩阵规范中的每个整数项中即可)
  2. 将数据作为CSV文件保存在单独的文件中,并使用例如加载。来自DelimitedFiles模块的readdlm函数(然后,如果您将int和float混合在一起就可以了,因为您可以在矩阵中指定元素的目标类型)。