54     for (i = 1; i < 9; i++) {
 
   55         f_vec[i - 1] = x1 * exp(i * x2) - data_vec[i - 1];
 
   89     for (i = 1; i < 9; i++) {
 
   90         J[i - 1][0] = exp(i * x2);
 
   91         J[i - 1][1] = i * x1 * exp(i * x2);
 
  103 void ieee_mobile_comp_exponential_data_test(
void)
 
  105     vector_t d_vec[] = { 8.3, 11.0, 14.7, 19.7, 26.7, 35.2, 44.4, 55.9 };
 
  116     uint8_t max_it_num = 3;
 
  117     uint8_t iter_num = 0;
 
  123     puts(
"############### Test Gauss-Newton & LVM algorithms ###############");
 
  124     puts(
"\nExponential Data:");
 
  130     printf(
"start value = {%.6f, %.6f}\n", start_x_vec[0], start_x_vec[1]);
 
  131     printf(
"Gauss-Newton = {%.6f, %.6f}\n", est_x_vec[0], est_x_vec[1]);
 
  132     printf(
"iteration number = %d\n", iter_num);
 
  138                                        beta0, beta1, max_it_num, est_x_vec,
 
  142     printf(
"Levenberg-Marquardt = {%.6f, %.6f}\n", est_x_vec[0], est_x_vec[1]);
 
  143     printf(
"iteration number = %d\n", iter_num);
 
  174     for (i = 1; i < 13; i++) {
 
  175         f_vec[i - 1] = x1 * sin(x2 * i + x3) + x4 - data_vec[i - 1];
 
  207     for (i = 1; i < 13; i++) {
 
  208         J[i - 1][0] = sin(i * x2 + x3);
 
  209         J[i - 1][1] = i * x1 * cos(i * x2 + x3);
 
  210         J[i - 1][2] = x1 * cos(i * x2 + x3);
 
  215 void ieee_mobile_comp_sinusoidal_data_test(
void)
 
  217     vector_t d_vec[] = { 61, 65, 72, 78, 85, 90, 92, 92, 88, 81, 72, 63 };
 
  218     vector_t start_x_vec[] = { 17, 0.5, 10.5, 77 };
 
  228     uint8_t max_it_num = 2;
 
  229     uint8_t iter_num = 0;
 
  236     puts(
"\nSinusoidal Data:");
 
  242     printf(
"start value = {%.6f, %.6f, %.6f, %.6f}\n", start_x_vec[0],
 
  243            start_x_vec[1], start_x_vec[2], start_x_vec[3]);
 
  244     printf(
"Gauss-Newton = {%.6f, %.6f, %.6f, %.6f}\n", est_x_vec[0],
 
  245            est_x_vec[1], est_x_vec[2], est_x_vec[3]);
 
  246     printf(
"iteration number = %d\n", iter_num);
 
  256     printf(
"Levenberg-Marquardt = {%.6f, %.6f, %.6f, %.6f}\n", est_x_vec[0],
 
  257            est_x_vec[1], est_x_vec[2], est_x_vec[3]);
 
  258     printf(
"iteration number = %d\n", iter_num);