Changeset 2938 for trunk/Ohana/src/opihi/lib.data/mrq2dmin.c
- Timestamp:
- Jan 8, 2005, 2:45:18 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/lib.data/mrq2dmin.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/lib.data/mrq2dmin.c
r2843 r2938 7 7 */ 8 8 9 # define VERY_VERBOSE 0 10 9 11 static float **alpha, **talpha; 10 12 static float **beta, **tbeta; 11 13 static float *partry, *dyda; 12 14 static float ochisq, lambda; 15 16 static float *parmin = NULL; 17 static float *parmax = NULL; 13 18 14 19 float mrq2dcof (float *x, float *t, float *y, float *dy, int Npts, … … 41 46 ta[k][j] = ta[j][k]; 42 47 48 # if (VERY_VERBOSE) 49 for (j = 0; j < Npar; j++) { 50 for (k = 0; k < Npar; k++) { 51 fprintf (stderr, "%9.3e ", ta[j][k]); 52 } 53 fprintf (stderr, " : %9.3e ", tb[j][0]); 54 fprintf (stderr, "\n"); 55 } 56 # endif 57 43 58 return (chisq); 44 59 60 } 61 62 float mrq2dchi (float *x, float *t, float *y, float *dy, int Npts, 63 float *par, int Npar, 64 float (funcs)(float, float, float *, int, float *)) { 65 66 int k, j, i; 67 float ydiff, wt, chisq; 68 69 chisq = 0.0; 70 for (i = 0; i < Npts; i++) { 71 ydiff = funcs (x[i], t[i], par, Npar, dyda) - y[i]; 72 chisq += SQ(ydiff) * dy[i]; 73 } 74 return (chisq); 45 75 } 46 76 … … 65 95 } 66 96 67 for (j = 0; j < Npar; j++) partry[j] = par[j] - tbeta[j][0]; 97 for (j = 0; j < Npar; j++) { 98 partry[j] = par[j] - tbeta[j][0]; 99 /* 100 if (parmin != NULL) partry[j] = MAX (parmin[j], partry[j]); 101 if (parmax != NULL) partry[j] = MIN (parmax[j], partry[j]); 102 */ 103 } 68 104 69 105 chisq = mrq2dcof (x, t, y, dy, Npts, partry, Npar, talpha, tbeta, funcs); … … 93 129 return (chisq); 94 130 131 } 132 133 int mrq2dlimits (float *pmin, float *pmax, int Npar) { 134 135 int i; 136 137 ALLOCATE (parmin, float, Npar); 138 ALLOCATE (parmax, float, Npar); 139 for (i = 0; i < Npar; i++) { 140 parmin[i] = pmin[i]; 141 parmax[i] = pmax[i]; 142 } 143 return (TRUE); 95 144 } 96 145 … … 156 205 free (dyda); 157 206 158 } 207 if (parmin != NULL) free (parmin); 208 if (parmax != NULL) free (parmax); 209 210 }
Note:
See TracChangeset
for help on using the changeset viewer.
