40 #include "sinfo_fit_curve.h"
41 #include "sinfo_ipow.h"
78 sinfo_fit_1d_poly(
int poly_deg, dpoint * list,
int np,
double * mse)
82 if (np < poly_deg + 1) {
89 Matrix mA = sinfo_create_mx(poly_deg + 1, np);
90 Matrix mB = sinfo_create_mx(1, np);
92 for (i = 0; i < np; i++) {
94 for (k = 1; k <= poly_deg; k++) {
95 mA->m[i + k * np] = sinfo_ipow(list[i].x, k);
103 Matrix mX = sinfo_least_sq_mx(mA, mB);
117 double* c = cpl_malloc((poly_deg + 1) *
sizeof(
double));
118 for (i = 0; i < (poly_deg + 1); i++) {
128 for (i = 0; i < np; i++) {
134 for (k = 1; k <= poly_deg; k++) {
135 xp = sinfo_ipow(list[i].x, k);
141 xp = sinfo_ipow(list[i].y - y, 2);
#define sinfo_msg_error(...)
Print an error message.