在 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
我在 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