examples/yacfs.mod
author Alpar Juttner <alpar@cs.elte.hu>
Sun, 05 Dec 2010 17:35:23 +0100
changeset 2 4c8956a7bdf4
permissions -rw-r--r--
Set up CMAKE build environment
alpar@1
     1
/*Yet Another Curve Fitting Solution
alpar@1
     2
alpar@1
     3
  Obviously this solution produces the same answer
alpar@1
     4
  as examples/cflsq.mod
alpar@1
     5
alpar@1
     6
  Nigel_Galloway@operamail.com
alpar@1
     7
  February 1st., 2009
alpar@1
     8
*/
alpar@1
     9
set Sample;
alpar@1
    10
param Sx {z in Sample};
alpar@1
    11
param Sy {z in Sample};
alpar@1
    12
alpar@1
    13
var a;
alpar@1
    14
var b;
alpar@1
    15
alpar@1
    16
equalz1 :sum{z in Sample} a*Sx[z]*Sx[z] + sum{z in Sample} b*Sx[z] = sum{z in Sample} Sy[z]*Sx[z];
alpar@1
    17
equalz2 :sum{z in Sample} a*Sx[z] + sum{z in Sample} b = sum{z in Sample} Sy[z];
alpar@1
    18
alpar@1
    19
solve;
alpar@1
    20
alpar@1
    21
printf "\nbest linear fit is:\n\ty = %f %s %fx\n\n", b, if a < 0 then "-" else "+", abs(a);
alpar@1
    22
alpar@1
    23
data;
alpar@1
    24
alpar@1
    25
param:
alpar@1
    26
Sample:   Sx    Sy :=
alpar@1
    27
  1         0    1
alpar@1
    28
  2       0.5  0.9
alpar@1
    29
  3         1  0.7
alpar@1
    30
  4       1.5  1.5
alpar@1
    31
  5       1.9    2
alpar@1
    32
  6       2.5  2.4
alpar@1
    33
  7         3  3.2
alpar@1
    34
  8       3.5    2
alpar@1
    35
  9         4  2.7
alpar@1
    36
 10       4.5  3.5
alpar@1
    37
 11         5    1
alpar@1
    38
 12       5.5    4
alpar@1
    39
 13         6  3.6
alpar@1
    40
 14       6.6  2.7
alpar@1
    41
 15         7  5.7
alpar@1
    42
 16       7.6  4.6
alpar@1
    43
 17       8.5    6
alpar@1
    44
 18         9  6.8
alpar@1
    45
 19        10  7.3
alpar@1
    46
;
alpar@1
    47
alpar@1
    48
end;