Biomech-Sim-Toolbox 1
Toolbox for movement simulation and analysis
|
C source code for the MEX function gait2dc.mex32. More...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "mex.h"
#include "gait2dc.h"
Classes | |
struct | muscleprop |
Macros | |
#define | ALMOSTZERO 1e-15 |
#define | isnan(x) ((x) != (x)) |
#define | M_PI 3.1415926535897932384626433832795 |
#define | MAXCONTACTS 20 |
#define | MAXSECTIONS 10 |
#define | MAXSTATES 2*NDOF+2*NMUS+4*MAXCONTACTS |
#define | NMUS 16 |
#define | NNZ_DA_DQ 38 |
#define | NNZ_DA_DQD 58 |
#define | NNZ_DA_DQDD 86 |
#define | VERBOSE 0 |
Functions | |
void | ExtractParameters (double par[]) |
void | mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) |
double | MuscleDynamics (muscleprop *m, double a, double Lce, double Lcedot, double Lm, double *df_da, double *df_dLce, double *df_dLcedot, double *df_dLm, double *force, double *dforce_dLm, double *dforce_dLce, double *forceCE, double *dforceCE_da, double *dforceCE_dLce, double *dforceCE_dLcedot, double *powerCE) |
double | MusclePath (muscleprop *m, double ang[NMOM], double dLm_dang[NMOM]) |
double | Softpos (double x, double x0, double *dydx) |
Variables | |
static double | bodymass |
static contactprop | contacts [MAXCONTACTS] |
static int | initialized = 0 |
static muscleprop | muscles [NMUS] |
static int | ncontacts = 0 |
static int | nonzeromomentarms |
static mwSize | nstates = 0 |
static param_struct | param |
static double | zeros [MAXSTATES] |
C source code for the MEX function gait2dc.mex32.
Implicit differential equation for 2D musculoskeletal model : f(x,dx/dt,u) = 0 with implicit contact formulation. This is the source code for the MEX function gait2cd.mex32 The musculoskeletal model is documented in the file gait2dc_reference.odt The function documentation is in gait2dc.m. The model includes an accelerometer model.
#define ALMOSTZERO 1e-15 |
#define isnan | ( | x | ) | ((x) != (x)) |
#define M_PI 3.1415926535897932384626433832795 |
#define MAXCONTACTS 20 |
#define MAXSECTIONS 10 |
#define MAXSTATES 2*NDOF+2*NMUS+4*MAXCONTACTS |
#define NMUS 16 |
#define NNZ_DA_DQ 38 |
#define NNZ_DA_DQD 58 |
#define NNZ_DA_DQDD 86 |
#define VERBOSE 0 |
void ExtractParameters | ( | double | par[] | ) |
void mexFunction | ( | int | nlhs, |
mxArray * | plhs[], | ||
int | nrhs, | ||
const mxArray * | prhs[] | ||
) |
double MuscleDynamics | ( | muscleprop * | m, |
double | a, | ||
double | Lce, | ||
double | Lcedot, | ||
double | Lm, | ||
double * | df_da, | ||
double * | df_dLce, | ||
double * | df_dLcedot, | ||
double * | df_dLm, | ||
double * | force, | ||
double * | dforce_dLm, | ||
double * | dforce_dLce, | ||
double * | forceCE, | ||
double * | dforceCE_da, | ||
double * | dforceCE_dLce, | ||
double * | dforceCE_dLcedot, | ||
double * | powerCE | ||
) |
double MusclePath | ( | muscleprop * | m, |
double | ang[NMOM], | ||
double | dLm_dang[NMOM] | ||
) |
double Softpos | ( | double | x, |
double | x0, | ||
double * | dydx | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |