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

AnyLogic中如何将数据库n×n矩阵导入集合并将行数赋值给变量

AnyLogic 数据库矩阵导入与行数获取操作指南

1. 完整矩阵数据导入集合

默认的单字段导入功能确实不支持整表矩阵读取,你可以通过自定义查询代码实现,操作步骤如下:

  • 先创建适配矩阵存储的集合:如果是数值型矩阵,建议创建类型为ArrayList<ArrayList<Double>>的集合(如果是其他数据类型,修改泛型对应即可)
  • 在需要触发导入的位置(如模型初始化块、按钮点击动作、自定义函数内)写入以下代码:
// 清空集合旧数据
yourCollectionName.clear();
// 查询读取矩阵对应的整张数据库表
List<Tuple> tableRows = selectQuery("SELECT * FROM 你的矩阵数据表名称");
// 遍历行数据写入集合
for (Tuple row : tableRows) {
    ArrayList<Double> matrixRow = new ArrayList<>();
    // 此处循环上限改为你的矩阵实际列数,示例为4列
    for (int colIndex = 1; colIndex <= 4; colIndex++) {
        matrixRow.add(row.getDouble(colIndex));
    }
    yourCollectionName.add(matrixRow);
}

如果是8.5及以上版本,你也可以直接创建Matrix(矩阵)类型的参数,在参数默认值设置中选择「从数据库导入」,选中对应数据表即可一键生成矩阵,无需手动写查询代码。

2. 矩阵行数赋值给变量

两种实现方式可按需选择:

  • 已将矩阵导入集合/Matrix参数:直接读取长度属性即可
// 集合场景
A = yourCollectionName.size();
// Matrix参数场景
A = yourMatrixParam.getRowCount();
  • 无需提前导入矩阵,直接从数据库查询行数:
A = (int) selectFirstValue("SELECT COUNT(*) FROM 你的矩阵数据表名称");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:57:00