在MATLAB中设置数据

时间:2016-03-29 00:58:42

标签: matlab ampl

我在AMPL中设置了如下问题:

Model

set A;
param B {A,A};

Data 

set A := 1 , 2  ;

我没有在我的数据部分定义我的参数B,现在我想在MATLAB中定义参数B的值。我浏览了AMPL网站上提供的示例,但它不起作用。 我想要B如下:

B = rand(2,2)

有人能告诉我如何在MATLAB中做到这一点吗?

1 个答案:

答案 0 :(得分:0)

幸运的是我找到了答案

首先应在MATLAB中加载模型部分和数据部分。然后这些命令可以完成所需的任务:

B = ampl.getParameter('B');
B.setValues(rand(2,2));
ampl.display('B')
B :=
1 1   0.849129
1 2   0.678735
2 1   0.933993
2 2   0.75774

B.getValues

i1   i2   |  val                 
1.0  1.0  |  0.8491293058687771  
1.0  2.0  |  0.6787351548577735  
2.0  1.0  |  0.9339932477575505  
2.0  2.0  |  0.7577401305783334