三角函數
假如手上沒有工具,該如何計算三角函數的值呢?我們須運用近似求值的方法,即在角度值(弧度值)足夠小的情況下,該等式成立:
sinx≈x
同時,我們應用下面的公式,持續叠代減小x的值:
sinx= 3sin(x/3) − 4sin3(x/3)
代碼實現如下:
function abs(x) {
return x >= 0 ? x : -x;
}
function cube(x) {
return x * x * x;
}
function p(x) {
return 3 * x - 4 * cube(x);
}
function sine(angle) {
return !(abs(angle) > 0.1)
? angle
: p(sine(angle / 3));//p for procedure
}
此處學到的是,等式兩邊取不同的argument,運行測試:
> sine(12.15)
-0.39980345741334
> sine(3.14/6)
0.5000259145195963
這道題目啟發我,編程确實可以用在日常的思考和數學計算中。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!