繁体   English   中英

我需要配方的帮助

[英]I need help for a formula

var a = document.forms[0].elements[0].value;
var b = document.forms[0].elements[1].value;
var c = document.forms[0].elements[2].value;
var d = document.forms[0].elements[3].value;
var Xp = document.forms[0].elements[4].value;
var Yp = document.forms[0].elements[5].value;

document.forms[0].elements[7].value = a/c;

document.forms[0].elements[8].value = (b*c-a*d)/(c*c);

document.forms[0].elements[9].value = c;

document.forms[0].elements[10].value = d;

document.forms[0].elements[11].value = Yp-(a/c*Xp)-((b*c-a*d)/(c*c)*(Math.log(Math.abs(c*Xp+d))));` 

元素11应该为-1,但我得到6.20。 我知道错误是从Math.log到; Math.log是自然对数吗? 因为我必须这样做

请参阅Math.log的文档: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log

要获得进一步的帮助,您应该咨询您的数学老师或知道算法的人;-P

也许你应该看到的部分: ((b*ca*d)/(c*c)*(Math.log(Math.abs(c*Xp+d))))马爷您希望有大括号像做(x/(z*y))((x*y)/z)

编辑:使用表单输入数据工作代码

<!DOCTYPE html>
<html>
<body>

<script>

function foo (form)
{


var a = form.elements[0].value
var b = form.elements[1].value;
var c = form.elements[2].value;
var d = form.elements[3].value;
var Xp = form.elements[4].value;
var Yp = form.elements[5].value;
var z = ((c*1)*(Xp)+(d*1));

var K = Yp-(a/c*Xp)-((b*c-a*d)/(c*c)*(Math.log(Math.abs(z))));
alert(K);

}

</script>

<form id="frm1" action="" method = "Get">
  a: <input type="number" name="a" value="1"><br>
  b: <input type="number" name="b" value="-3"><br>
  c: <input type="number" name="c" value="1"><br>
  d: <input type="number" name="d" value="4"><br>
  Xp: <input type="number" name="Xp" value="1"><br>
  Yp: <input type="number" name="Yp" value="-11.2661"><br>
  <input type="button" id = "Submit" value="Read" onClick="foo(this.form)"/>
</form> 


</body>

</html>

问题在于(c * Xp + d)。 您看到而不是求值(1 + 4)= 5,而是将cd和Xp视为字符串,并得出(1 + 4)= 14表示将一个字符串添加到另一个字符串。 使用z =((c * 1))*(Xp)+(d * 1))必须以某种方式将值强制转换为两倍,以便它们求值为5的右数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM