help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

## [Help-gsl] Non-linear Multi-parameter Least-Squares Example

 From: Gordan Bobic Subject: [Help-gsl] Non-linear Multi-parameter Least-Squares Example Date: Tue, 17 Jul 2007 12:46:12 +0100 (BST)

```Hi,

I have a question regarding the example 37.9 in the manual.

In the df function, there is the following code:

for (i = 0; i < n; i++)
{
/* Jacobian matrix J(i,j) = dfi / dxj, */
/* where fi = (Yi - yi)/sigma[i],      */
/*       Yi = A * exp(-lambda * i) + b  */
/* and the xj are the parameters (A,lambda,b) */

double t = i;
double s = sigma[i];
double e = exp(-lambda * t);

gsl_matrix_set (J, i, 0, e/s);
gsl_matrix_set (J, i, 1, -t * A * e/s);
gsl_matrix_set (J, i, 2, 1/s);
}

I am trying to adapt this to fit a generic sine curve. So, I am trying to
do something like this:

for (i = 0; i < n; i++)
{
/* Jacobian matrix J(i,j) = dfi / dxj, */
/* where fi = (Yi - yi)/sigma[i],      */
/*       Yi = a * sin(b / t + c) + d   */
/* and the xj are the parameters (a,b,c,d) */

double t = i;
double s = sigma[i];
double e = sin(b / t + c);

gsl_matrix_set (J, i, 0, e/s);
gsl_matrix_set (J, i, 1, cos (b / t + c) * e/s);
gsl_matrix_set (J, i, 2, 1/s);
gsl_matrix_set (J, i, 3, 1/s);
}

Is this a correct adaptation, or am I misunderstanding what this is
supposed to do? Is the 4th parameter in this case the
differential/derivative of the Yi equation with respect to a, b, c and d
respectively?

Thanks.

Gordan

```

reply via email to

 [Prev in Thread] Current Thread [Next in Thread]