在 MATLAB 中设置数据

set up data in MATLAB

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

Model

set A;
param B {A,A};

Data 

set A := 1 , 2  ;

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

B = rand(2,2)

谁能告诉我如何在 MATLAB 中做到这一点?

幸运的是我找到了答案

首先应该在 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