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
我是一名化学家,对 Javascript 完全不熟悉,以便详细解释。但是该方法很简单,可以手动显示。This link以干净的方式将其钉牢。
我链接到它而不经过详细步骤的唯一原因是因为 Stackoverflow 没有 LaTeX 数学,以便使文本易于遵循,所以我认为你会从链接中的文本中受益。
我认为最难的一点是在步骤 5 中找到 / 编码矩阵的行梯队减少的适当子程序。但我也相信有大量的算法适合做你可以在互联网上找到的。非常方便,这个网站有a question related to just that与 python 代码来增加交易。
我希望这可以帮助你至少把你的头足够实现你需要的代码。
干杯
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(57条)