我试图对我的热力学类进行自动迭代,但是当我试图将通过计算得到的值替换成相同的方程时,直到它小于所要求的误差,但它不起作用。我觉得我不知道该怎么做.有人能帮我吗?
do {
vn = ((( r * t) / p)*( 1 + (b / v)+(c / (v ^ 2))+(d / (v ^ 3))));
vn = v
document.getElementById("termo").innerHTML = "The value of the real volume is:" + vn;
}
while ((v-vn) <= e )发布于 2017-10-06 21:20:44
首先,您需要存储最后一个值,v = vn。
然后计算新值,vn = ((( r * t) ...。
现在,您需要写出新的值,document.getElementById(...。
然后比较这些值,看看它是否低于阈值,while(...。
如果没有,那就再做一次。
do {
v = vn;
vn = (((r * t) / p) * (1 + (b / v) + (c / (v ^ 2)) + (d / (v ^ 3))));
document.getElementById("termo").innerHTML = "The value of the real volume is:" + vn;
} while (Math.abs(v-vn) > e);不过,我只是将初始值设置为一些随机数,因为我不知道您要计算什么(但我猜容器容量是关于理想气体的)。
然而,也有可能你的方程式有一个错误。我不知道使用XOR的热力学方程(^是javascript中的XOR )。你可能是指v to the second power和v to the third power。那么你的方程式应该是这样的:
vn = (((r * t) / p) * (1 + (b / v) + (c / Math.pow(v, 2) + (d / Math.pow(v, 3)))));https://stackoverflow.com/questions/46613971
复制相似问题