1

对于 sinh(30) 我做了

var rad=(Math.exp(30) - Math.exp(-30)) / 2;

上面的一个是正确地给出弧度值。如果做学位

 var deg=rad * (180/Math.PI);// giving 306144945697592.7  

但在 sinh(30) 的科学计算器中

sinh(30)=0.547853473888

在javascript中找到sinh值的逻辑是什么

4

2 回答 2

2

30 应该是弧度,而不是第一个的度数。

function deg2rad (radAngle) {
  return radAngle * .017453292519943295;
}
function sinh (arg) {
  return (Math.exp(arg) - Math.exp(-arg)) / 2;
}
var x = deg2rad(30);
var ans = sinh(x);
alert(ans);
于 2013-05-02T12:52:07.980 回答
1

度数到弧度的转换需要应用于表达式的输入,而不是其结果sinh

此外,您的转换是从弧度到度数 - 您需要相反:

Math.sinh = function(x) { return (Math.exp(x) - Math.exp(-x)) / 2; }

Math.deg2rad = function(theta) { return theta * Math.PI / 180; }

> Math.sinh(Math.deg2rad(30))
0.5478534738880397
于 2013-05-02T12:55:08.623 回答