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

如何在Julia中实现固定长度、矩阵行可变的矩阵数组?

可行方案及实现示例

完全可行,核心是用列表容器存储每个可变行数的2列矩阵,利用列表的动态特性实现行的迭代添加,以下是两种常用实现方式:

原生Python列表实现(轻量灵活)

直接用列表嵌套的方式,外层列表对应所有反应,每个子列表对应一个反应的2列状态矩阵:

# 假设共有k=3个反应
k = 3
# 初始化存储所有反应矩阵的容器
reaction_matrices = [[] for _ in range(k)]

# 给第0个反应添加状态行(时间, 反应次数)
reaction_matrices[0].append((10.2, 1))
reaction_matrices[0].append((15.7, 2))

# 给第2个反应添加状态行
reaction_matrices[2].append((8.5, 1))

每个子列表的行数随添加操作动态变化,完全满足需求,且操作简单直观。

NumPy动态数组实现(适合数值计算)

如果后续需要对矩阵做数值运算,可以用NumPy的动态扩容方式,初始化为空的2列数组,通过vstack添加行:

import numpy as np

k = 3
# 初始化每个反应的矩阵为2列的空NumPy数组
reaction_matrices = [np.empty((0, 2)) for _ in range(k)]

# 给第0个反应添加状态行
new_row = np.array([[10.2, 1]])
reaction_matrices[0] = np.vstack([reaction_matrices[0], new_row])
reaction_matrices[0] = np.vstack([reaction_matrices[0], np.array([[15.7, 2]])])

# 输出第0个反应的矩阵
print(reaction_matrices[0])

为什么多维数组和元组不适用

  • 固定维度的多维数组:要求所有子矩阵的行数、列数完全一致,无法支持行数可变的场景
  • 元组:元素不可修改,无法动态添加行,不符合迭代更新的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:52:14