forum.alglib.net
http://forum.alglib.net/

Newbie Function Question
http://forum.alglib.net/viewtopic.php?f=2&t=304
Page 1 of 1

Author:  GTE946e [ Sat Feb 19, 2011 6:05 pm ]
Post subject:  Newbie Function Question

I'm trying to fit the following equation:


Function f(x) = A-2*sqr(A*B) *(1-A)*e^(-CX) *COS(Dx-E)


Can anyone help me turn this into a function I can use for fitting for this?

I'm using VB.net and am trying to use the following code as a basis;
Public Sub function_cx_1_func(ByVal c As Double(), ByVal x As Double(), ByRef func As Double, ByVal obj As Object)
'
' this callback calculates f(c,x)=exp(-c0*sqr(x0))
' where x is a position on X-axis and c is adjustable parameter
'
func = System.Math.Exp(-c(0) * x(0) * x(0))
End Sub

Public Sub Test
Dim x(,) As Double = New Double(,) {{-1}, {-0.8}, {-0.6}, {-0.4}, {-0.2}, {0}, {0.2}, {0.4}, {0.6}, {0.8}, {1.0}}
Dim y() As Double = New Double() {0.22313, 0.382893, 0.582748, 0.786628, 0.941765, 1.0, 0.941765, 0.786628, 0.582748, 0.382893, 0.22313}
Dim c() As Double = New Double() {0.3}
Dim epsf As Double = 0
Dim epsx As Double = 0.000001
Dim maxits As Integer = 0
Dim info As Integer
Dim state As lsfitstate = New XAlglib.lsfitstate() ' initializer can be dropped, but compiler will issue warning
Dim rep As lsfitreport = New XAlglib.lsfitreport() ' initializer can be dropped, but compiler will issue warning
Dim diffstep As Double = 0.0001

'
' Fitting without weights
'
XAlglib.lsfitcreatef(x, y, c, diffstep, state)
XAlglib.lsfitsetcond(state, epsf, epsx, maxits)
XAlglib.lsfitfit(state, AddressOf function_cx_1_func, Nothing, Nothing)
XAlglib.lsfitresults(state, info, c, rep)
System.Console.WriteLine("{0}", info) ' EXPECTED: 2
System.Console.WriteLine("{0}", alglib.ap.format(c, 1)) ' EXPECTED: [1.5]

'
' Fitting with weights
' (you can change weights and see how it changes result)
'
Dim w() As Double = New Double() {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
XAlglib.lsfitcreatewf(x, y, w, c, diffstep, state)
XAlglib.lsfitsetcond(state, epsf, epsx, maxits)
XAlglib.lsfitfit(state, AddressOf function_cx_1_func, Nothing, Nothing)
XAlglib.lsfitresults(state, info, c, rep)
System.Console.WriteLine("{0}", info) ' EXPECTED: 2
System.Console.WriteLine("{0}", alglib.ap.format(c, 1)) ' EXPECTED: [1.5]
System.Console.ReadLine()
Environment.Exit(0)


Any help would be greatly appreciated.

Thank you!!
Nick Spencer

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/