平衡化学方程式(balancing chemical equations website)

Lore:现在,我的化学课已经不再是记忆方程式之类的东西,而是从例如平衡化学方程式开始。我可以整天坐下来平衡方程式,但是由于编程是我的热情,我很想让一个程序为我解决这些问题。这或多或少是一个宠物项目,更多的是为了娱乐,而不是让我在化学课上获得优势。但是我越不喜欢它就越复杂。

Lore:
现在,我的化学课已经不再是记忆方程式之类的东西,而是从例如平衡化学方程式开始。我可以整天坐下来平衡方程式,但是由于编程是我的热情,我很想让一个程序为我解决这些问题。这或多或少是一个宠物项目,更多的是为了娱乐,而不是让我在化学课上获得优势。但是我越不喜欢它就越复杂。

问题:
我不知道的是如何利用矩阵求解方程(平衡方程以保存质量 *)并将其转换为化学中有效的整数。

代码 / 对象:

class Element {
    constructor(name,quantity) {
        this.name = name;
        this.quantity = quantity;
        if (this.quantity == 0) {
            this.quantity = 1;
        }
    }
}
class Molecule {
    constructor() {
        this.elements = [];
        this.multiplier = 1;
    }
    addElement(newEl) {
        this.elements.push(newEl);
    }
    list() {
        this.elements.forEach(el => {
            console.log(el.name,el.quantity);
        });
    }
    getMultiplier() {
        return this.multiplier;
    }
    getElements() {
        var a = [];
        this.elements.forEach(el => {
            a.push([el.name,el.quantity*this.multiplier]);
        });
        return a;
    }
}

代码 / 数据结构:

printFormula(moleculeList);
for (var i=0;i<moleculeList[0].length;i++) {
    console.log("Mol "+(i+1))
    moleculeList[0][i].list();
}
console.log("==>");
for (var i=0;i<moleculeList[1].length;i++) {
    console.log("Mol "+(i+1))
    moleculeList[1][i].list();
}

代码 / 输出:

'C6H14 + O2 ==> CO2 + H2O'
Mol 1
C 6
H 14
Mol 2
O 2
==>
Mol 1
C 1
O 2
Mol 2
H 2
O 1
3

我是一名化学家,对 Javascript 完全不熟悉,以便详细解释。但是该方法很简单,可以手动显示。This link以干净的方式将其钉牢。

我链接到它而不经过详细步骤的唯一原因是因为 Stackoverflow 没有 LaTeX 数学,以便使文本易于遵循,所以我认为你会从链接中的文本中受益。

我认为最难的一点是在步骤 5 中找到 / 编码矩阵的行梯队减少的适当子程序。但我也相信有大量的算法适合做你可以在互联网上找到的。非常方便,这个网站有a question related to just that与 python 代码来增加交易。

我希望这可以帮助你至少把你的头足够实现你需要的代码。

干杯

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(776)
Oracle云中 IAM、IDCS和OCI的区别
上一篇
更改阵列中矩阵的名称失败(names from the matrix)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(30条)