我的目标是计算恒星的半径。公式需要三个变量,其中我将有两个,所以我应该能够通过基本代数得到第三个变量。这是formula:
L = 4 π R^2 s T^4
其中L是以瓦为单位的亮度,R是以米为单位的半径,s是Stefan-Boltzmann常数(5.67 x 10-8 Wm-2K-4),T是以开尔文为单位的恒星表面温度。
我将获得光度和温度,并需要得出半径。任何编写函数的帮助都会非常感激,因为我没有使用JavaScript的数学经验。
答案 0 :(得分:1)
使用基本代数,您可以推断出您的公式是:
R=(L/(4*pi*s*T^4))^0.5
(x^0.5
是x的平方根
在js中,数学函数来自Math
包。
找到:
- ^x
,使用Math.pow(base,x);
- 平方根,使用Math.sqrt(base);
Pi是Math.pi
基本上,你的功能看起来像是:
var s = ...;
function R(L, T){
return Math.sqrt((L/(4*Math.pi*s*Math.pow(T,4))));
}
要得出,它不需要太多工作,只需要计算两个值之间的差值除以时间圈数。 var x = 0; // x最后一个数据块 var r = 0; //初始半径
function temperature(X, T, L){ // to find the tangent between the last two point, somewhat similar to derivative
var R = R(L,T);
var tangent = (R-r)/(X-x);
r = R;
x = X;
return tangent;
}