Doxygen Source Code Documentation
model_diffusion.c File Reference
#include <math.h>
#include "NLfit_model.h"
Go to the source code of this file.
Functions | |
void | signal_model (float *gs, int ts_length, float **x_array, float *ts_array) |
DEFINE_MODEL_PROTOTYPE MODEL_interface * | initialize_model () |
Function Documentation
|
Definition at line 40 of file model_diffusion.c. References MODEL_interface::call_func, MODEL_interface::label, MODEL_interface::max_constr, MODEL_interface::min_constr, MODEL_SIGNAL_TYPE, MODEL_interface::model_type, MODEL_interface::params, MODEL_interface::plabel, signal_model(), and XtMalloc.
00041 { 00042 MODEL_interface * mi = NULL; 00043 00044 /*----- allocate memory space for model interface -----*/ 00045 mi = (MODEL_interface *) XtMalloc (sizeof(MODEL_interface)); 00046 00047 00048 /*----- define interface for the diffusion model -----*/ 00049 00050 /*----- name of this model -----*/ 00051 strcpy (mi->label, "ADC"); 00052 00053 /*----- this is a signal model -----*/ 00054 mi->model_type = MODEL_SIGNAL_TYPE; 00055 00056 /*----- number of parameters in the model -----*/ 00057 mi->params = 2; 00058 00059 /*----- parameter labels -----*/ 00060 strcpy (mi->plabel[0], "So"); 00061 strcpy (mi->plabel[1], "D"); 00062 00063 /*----- minimum and maximum parameter constraints -----*/ 00064 mi->min_constr[0] = 0.0; mi->max_constr[0] = 32256.0; 00065 mi->min_constr[1] = 0.00; mi->max_constr[1] = .004; 00066 00067 00068 /*----- function which implements the model -----*/ 00069 mi->call_func = &signal_model; 00070 00071 00072 /*----- return pointer to the model interface -----*/ 00073 return (mi); 00074 } |
|
Definition at line 90 of file model_diffusion.c. Referenced by initialize_model().
00097 { 00098 int it; /* time index */ 00099 float t; /* time = in this case actually b factor */ 00100 float fval; /* time series value at time t */ 00101 00102 00103 for (it = 0; it < ts_length; it++) 00104 { 00105 t = x_array[it][1]; 00106 fval = gs[0] * exp(-t*gs[1]); 00107 ts_array[it] = fval; 00108 } 00109 00110 } |