You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于导入的数据集配置AnyLogic Source Block的到达间隔时间?

基于频率数据集配置AnyLogic Source Block生成卡车到达

1. 确认数据集引用

你已经把Excel表格导入为AnyLogic的DataSet对象(比如命名为arrivalData),先确认两列字段名清晰,比如第一列是interval(到达间隔,单位分钟),第二列是freq(对应出现频率)。

2. 编写自定义函数生成符合频率的间隔

新建一个返回double类型的函数(命名为getRandomInterval),代码如下:

// 从数据集提取间隔和频率数组
double[] intervals = arrivalData.getColAsDoubles("interval");
double[] freqs = arrivalData.getColAsDoubles("freq");

// 若Excel中是绝对次数而非概率,需先转换为概率(取消下方注释)
// double totalFreq = sum(freqs);
// for(int i=0;i<freqs.length;i++) freqs[i] /= totalFreq;

// 创建离散分布并随机抽样
DiscreteDistribution dist = new DiscreteDistribution(intervals, freqs);
return dist.sample();

3. 配置Source Block

打开Source Block的属性面板,找到**到达间隔(Inter-arrival time)**设置项,把原来的固定值30替换为自定义表达式:

getRandomInterval()

注意确认Source的时间单位和你数据中的间隔单位一致(比如均为分钟)。

验证建议

添加一个Histogram组件,将生成的到达间隔传入统计,对比原始数据集的频率分布,确保配置符合预期。

内容的提问来源于stack exchange,提问作者Miguel Ribeiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:32:08