AnyLogic:是否可以进行倍数/和/减/..分别链接AnyLogic中的两个表函数



我有两个表函数f1:arguments1->值1和f2:参数2->values2通过其参数[]和values[]数组给出。我想把它们链接到一个新的TableFunction g,这样:g的自变量应为:自变量1+0.5*自变量2g的值应为:min{values1,values2}。

有什么方法可以通过代码实现它吗?我试着这样做,然而,我总是有一个问题,当形成笛卡尔乘积时,会出现重复。

试试这个,假设您有两个大小相同的表函数,分别称为t2和t4,并且您的新表函数是newT:

你可以在模拟启动时这样做(注意,如果超出范围,我任意选择线性插值到最接近的值(

double [] values = new double[t2.getValues().length];
double [] arguments = new double[t2.getValues().length];
for(int i = 0; i<values.length;i++){
arguments[i]=t2.getArguments()[i]+0.5*t4.getArguments()[i];
values[i]=min(t2.getValues()[i],t4.getValues()[i]);
}
newT=new TableFunction( arguments, values, 
TableFunction.INTERPOLATION_LINEAR, 1, TableFunction.OUTOFRANGE_NEAREST,
0.0 );

相关内容

  • 没有找到相关文章

最新更新