5 #include "MarquardtFitter.h" 16 std::random_device rd;
17 std::mt19937 gen(rd());
18 std::uniform_real_distribution<> dis(0.0, 1.0);
20 for (
int i = 0; i < 100; i++) {
23 cout << dis(gen) << endl;
28 std::vector<double> fullwave(200, 0.0);
30 fullwave[72] = 304.6258290320149;
31 fullwave[73] = 1136.1249614927067;
32 fullwave[74] = 2383.4607586575366;
33 fullwave[75] = 3950.7983668633424;
34 fullwave[76] = 5755.781220246707;
35 fullwave[77] = 7727.982967423797;
36 fullwave[78] = 9807.518177751515;
37 fullwave[79] = 11943.796685780588;
38 fullwave[80] = 14094.407804669252;
39 fullwave[81] = 16224.12189173799;
40 fullwave[82] = 18303.997892161336;
41 fullwave[83] = 20310.58652932293;
42 fullwave[84] = 22225.219761141412;
43 fullwave[85] = 24033.377988536104;
44 fullwave[86] = 25724.12729231791;
45 fullwave[87] = 27289.619694741228;
46 fullwave[88] = 28724.650097763853;
47 fullwave[89] = 30026.26414725786;
48 fullwave[90] = 31193.411816054955;
49 fullwave[91] = 32226.641993430272;
50 fullwave[92] = 33127.83381867297;
51 fullwave[93] = 33899.96090564749;
52 fullwave[94] = 34546.88497727351;
53 fullwave[95] = 35073.17576690247;
54 fullwave[96] = 35483.95435062383;
55 fullwave[97] = 35784.757353321904;
56 fullwave[98] = 35981.419724318;
57 fullwave[99] = 36079.97400795409;
58 fullwave[100] = 36086.56424258883;
59 fullwave[101] = 36007.37281009028;
60 fullwave[102] = 35848.55872876636;
61 fullwave[103] = 35616.20603736408;
62 fullwave[104] = 35316.28105774768;
63 fullwave[105] = 34954.59745046197;
64 fullwave[106] = 34536.78809181308;
65 fullwave[107] = 34068.28290446155;
66 fullwave[108] = 33554.291866833046;
67 fullwave[109] = 32999.79251083113;
68 fullwave[110] = 32409.521293225163;
69 fullwave[111] = 31787.968294451945;
70 fullwave[112] = 31139.37476010957;
71 fullwave[113] = 30467.733055774166;
72 fullwave[114] = 29776.78865551364;
73 fullwave[115] = 29070.04382913681;
74 fullwave[116] = 28350.76273328072;
75 fullwave[117] = 27621.97764734261;
76 fullwave[118] = 26886.496127403192;
77 fullwave[119] = 26146.90888002677;
78 fullwave[120] = 25405.598183491144;
79 fullwave[121] = 24664.746706893926;
80 fullwave[122] = 23926.34659797524;
81 fullwave[123] = 23192.208728634778;
82 fullwave[124] = 22463.97200322889;
83 fullwave[125] = 21743.112649013565;
84 fullwave[126] = 21030.953420735183;
85 fullwave[127] = 20328.67266253104;
86 fullwave[128] = 19637.313180135883;
87 fullwave[129] = 18957.790885035913;
88 fullwave[130] = 18290.90317979298;
89 fullwave[131] = 17637.337060388763;
90 fullwave[132] = 16997.676917215533;
91 fullwave[133] = 16372.412021354836;
92 fullwave[134] = 15761.94368712403;
93 fullwave[135] = 15166.592105604374;
94 fullwave[136] = 14586.602847062239;
95 fullwave[137] = 14022.153032896964;
96 fullwave[138] = 13473.35718004877;
97 fullwave[139] = 12940.27272272731;
98 fullwave[140] = 12422.90521791965;
99 fullwave[141] = 11921.213242445208;
100 fullwave[142] = 11435.112990379346;
101 fullwave[143] = 10964.482580499178;
102 fullwave[144] = 10509.166084042365;
103 fullwave[145] = 10068.977283538303;
104 fullwave[146] = 9643.703173792512;
105 fullwave[147] = 9233.107216300932;
106 fullwave[148] = 8836.932358457492;
107 fullwave[149] = 8454.903828912795;
108 fullwave[150] = 8086.731720357846;
109 fullwave[151] = 7732.113370856265;
110 fullwave[152] = 7390.735554643773;
111 fullwave[153] = 7062.276493063163;
112 fullwave[154] = 6746.407696015988;
113 fullwave[155] = 6442.795643996111;
114 fullwave[156] = 6151.103320431239;
115 fullwave[157] = 5870.991603703011;
116 fullwave[158] = 5602.120527848272;
117 fullwave[159] = 5344.15042056905;
118 fullwave[160] = 5096.742926799163;
119 fullwave[161] = 4859.5619256956015;
120 fullwave[162] = 4632.274348544305;
121 fullwave[163] = 4414.550904696215;
122 fullwave[164] = 4206.066722281406;
123 fullwave[165] = 4006.5019100888726;
124 fullwave[166] = 3815.5420466483015;
125 fullwave[167] = 3632.8786022088548;
126 fullwave[168] = 3458.209298979449;
127 fullwave[169] = 3291.2384146760082;
128 fullwave[170] = 3131.677034114027;
130 std::vector<std::vector<double>> apMatrix;
137 for (
double d : result) {
138 std::cout << d << std::endl;
std::vector< double > getParameters()
Obtain marquardt fitter current arguments/parameters.
Definition: MarquardtFitter.cpp:347
void setData(const std::vector< double > &zvalues)
Set the values of the original data points that are going to be fit.
Definition: MarquardtFitter.cpp:23
void setParameters(const std::vector< double > ¶meters)
Set the arguments/parameters for the fitter.
Definition: MarquardtFitter.cpp:32
void fitData()
Iterate until fitting is finished.
Definition: MarquardtFitter.cpp:292
Class to compute Marquardt fitter.
Definition: MarquardtFitter.h:9