簡體   English   中英

計算對數趨勢線的斜率和截距值為excel

[英]Calculate slope and intercept value for logarithmic trendline as excel

我正在生成對數趨勢線並使用Excel公式。 但我無法計算在Excel中計算的斜率和截距值。 我想,我在配方中犯了一些錯誤。

這是我的代碼

 var X= [10, 25, 30, 40]; Y= [5, 4, 7, 12];

 var Slope, Intercept, SX = 0, SY = 0,
            SXX = 0, SXY = 0, SYY = 0,
            SumProduct = 0, N = X.length;

            for (var i = 0; i < N; i++) {
                SX = SX + X[i];
                SY = SY + Y[i];
                SXY = SXY + X[i] * Y[i];
                SXX = SXX + X[i] * X[i];
                SYY = SYY + Y[i] * Y[i];
            }

            Slope = ((N * SXY) - (SX * SY)) / ((N * SXX) - (SX * SX));

            Intercept = (SY - (Slope * SX)) / N;

小提琴鏈接

Excel公式:

對數方程:y =(c * LN(x))+ b

哪里:

c = INDEX(LINEST(y,LN(x)),1)
b = INDEX(LINEST(y,LN(x)),1,2)

Excel輸出的屏幕截圖

在此輸入圖像描述

請建議如何在JavaScript中派生Excel公式。

您在Excel中錯過了ln() Math.log() 編輯這樣for部分。

for (var i = 0; i < N; i++) {
    SX = SX + Math.log(X[i]);
    SY = SY + Y[i];
    SXY = SXY + Math.log(X[i]) * Y[i];
    SXX = SXX + Math.log(X[i]) * Math.log(X[i]);
    SYY = SYY + Y[i] * Y[i];
}

我已經驗證輸出是作為Excel的sams。

> Slope
3.8860409979365333
> Intercept
-5.252238189415747

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM