gpt4 book ai didi

java - 帮助化学平衡器? (从数组列表到矩阵的转换)在java中

转载 作者:行者123 更新时间:2023-12-02 00:47:25 25 4
gpt4 key购买 nike

我正在制作一个平衡化学方程式的java应用程序。我循环遍历每个术语并创建两个数组列表。在一个数组列表中,我拥有所有元素的集合。例如(在第一项中)如果方程为 C6H12O6+O2=CO2+H2O,则数组列表将具有 {C, H, O}。在另一个中,我有相应的数字,因此它将包含 {6,12,6}。我需要将所有这些组合起来形成一个矩阵(3 x 4),即:

(0,0) = 6(1,0) = 12(2,0) = 6(0,1) = 0(1,1) = 0(2,1) = 2(0,2) = 1(1,2) = 0(2,2) = 2(0,3) = 0(1,3) = 2(2,3) = 1

上面的矩阵设计为第 0 行是 C,第 1 行是 H,第 2 行是 O。列是项 (0、1、2 和 3)

将数组列表转换为矩阵有什么建议吗?

最佳答案

如果您这样做是为了好玩或为了一个项目,那很好。如果您这样做是为了让化学家使用真正的可扩展应用程序,那么您将需要满足 > 100 种元素、许多试剂和产品以及少量的需求。有很多开源 Java 化学库,我很乐意向您介绍。不要重新发明轮子。请参阅http://www.blueobelisk.org

要认真做到这一点,需要 Ugi 开发的键/电子矩阵。你最好的地方是 Ugi 自己的论文:www.iupac.org/publications/pac/1978/pdf/5011x1303.pdf

参见 - 例如第 1307 页。

编辑:这对于当前的问题来说太过分了!

一个简单的矩阵方法将包括 2 个耦合矩阵 R( react 物)和 P(产物),其中 nelem(例如 100)列表示已知元素,行数不定(nR,nP)与 react 物和产物一样多。因此,矩阵通常不会具有相同的维数。 react 物[nR][nelem]和产物[nP][nelem]。乘法器 nreact[nR] 和 nprod[nP] 也有两个列 vector 。请注意,一般化学式和乘数通常是整数,但不一定是(化合物可能不具有简单的元素整数比)。

我将使用我自己的 CMLFormula 和 CMLReaction Java 类(请参阅 http://www.xml-cml.org )来解决这个问题。欢迎您从这里开始 - 这会让生活变得更轻松

关于java - 帮助化学平衡器? (从数组列表到矩阵的转换)在java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4558539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com