Andreik Posted October 27, 2008 Share Posted October 27, 2008 (edited) I think most have used FORECAST function from MS Excel. How can I write this function in AutoIt? My problem is how can I compute the value of a? Any idea is welcome. Here is description of function from Excel: Edited October 27, 2008 by Andreik When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Pain Posted October 27, 2008 Share Posted October 27, 2008 To be honest I'm working on something similar myself, started two days ago, but with another algorithm. Take a look here and see if it helps. I found it pretty useful.http://en.wikipedia.org/wiki/Regression_analysis Link to comment Share on other sites More sharing options...
Andreik Posted October 27, 2008 Author Share Posted October 27, 2008 (edited) To be honest I'm working on something similar myself, started two days ago, but with another algorithm. Take a look here and see if it helps. I found it pretty useful. http://en.wikipedia.org/wiki/Regression_analysis Is useful your link, but I don't know why the return value is not correct. Here is my example: expandcollapse popupDim $TEST1[6] $TEST1[0] = 5; Index of array $TEST1[1] = 6 $TEST1[2] = 7 $TEST1[3] = 9 $TEST1[4] = 15 $TEST1[5] = 21 Dim $TEST2[6] $TEST2[0] = 5; Index of array $TEST2[1] = 20 $TEST2[2] = 28 $TEST2[3] = 31 $TEST2[4] = 38 $TEST2[5] = 40 Func ArrayAverage($Array) Local $Sum = 0 For $Index = 1 To $Array[0] $Sum += $Array[$Index] Next Return $Sum/$Array[0] EndFunc Func FORECAST($NUM,$Array1,$Array2) If Not IsNumber($NUM) Then Return "#VALUE!" If UBound($Array1) <> UBound($Array2) Then Return "#N/A" If Not IsArray($Array1) And Not IsArray($Array2) Then Return "#DIV/0!" Local $PSum = 0 , $Sum = 0 Local $XAvg = ArrayAverage($Array1) Local $YAvg = ArrayAverage($Array2) For $Index = 1 To $Array1[0] $PSum += ($Array1[$Index]-$XAvg)*($Array2[$Index]-$YAvg) $Sum += ($Array1[$Index]-$XAvg)^2 Next Local $b = $PSum/$Sum Local $a = $XAvg - $b*$YAvg Return $a+$b*$NUM EndFunc MsgBox(0,"FORECAST",FORECAST(30,$TEST1,$TEST2)) Edited October 27, 2008 by Andreik When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now