0

我正在尝试将四个不同大小的数组合并为一个数组(子卷)。该数组应包含与输入字符串对应的 12 个浮点值。append 函数对我不起作用,因为它只适用于整数值。对此进行编码的正确方法是什么?

{string} drySegment = ...;
{string} liquidSegment = ...;
{string} breakSegment = ...;
{string} contSegment = ...;
{string} subSegment = ...;

dvar float dryVolume[drySegment];
dvar float liquidVolume[liquidSegment];
dvar float breakVolume[breakSegment];
dvar float contVolume[contSegment];
dvar float subVolume[subSegment];
4

2 回答 2

1

那你可以试试

{string} s1={"1","2"}; 
{string} s2={"3","4"}; 

 dvar float f1[s1];
 dvar float f2[s2];

 {string} s12=s1 union s2;

 dexpr float f12[i in s12]=(i in s1)?f1[i]:f2[i];

 subject to
 {
 f1["1"]==1.1;
 f1["2"]==1.2; 
 f2["3"]==1.3;
 f2["4"]==1.4;
 }

 execute
 {
 writeln(f12); 
 }
于 2016-04-14T12:42:24.650 回答
0

你可以试试

{string} s1={"1","2"}; 
{string} s2={"3","4"}; 
float f1[s1]=[0.6,0.8];
float f2[s2]=[0.66,0.88];
{string} s12=s1 union s2;
float f12[i in s12]=(i in s1)?f1[i]:f2[i];

execute
 {
  writeln(f12); 
 }

这给出 [0.6 0.8 0.66 0.88]

于 2016-04-14T11:58:06.507 回答