Normalize a 3D variable by 2D mean and variance. More...
#include <utils.h>
Go to the source code of this file.
Functions | |
void | normalize_field_2d (double *nbuf, double *buf, double *mean, double *var, int ndima, int ndimb, int ntime) |
Normalize a 3D variable by 2D mean and variance. |
Normalize a 3D variable by 2D mean and variance.
Definition in file normalize_field_2d.c.
void normalize_field_2d | ( | double * | nbuf, | |
double * | buf, | |||
double * | mean, | |||
double * | var, | |||
int | ndima, | |||
int | ndimb, | |||
int | ntime | |||
) |
Normalize a 3D variable by 2D mean and variance.
[out] | nbuf | Normalized 3D buffer |
[in] | buf | Input 3D buffer |
[in] | mean | Mean 2D |
[in] | var | Variance 2D |
[in] | ndima | First dimension |
[in] | ndimb | Second dimension |
[in] | ntime | Time dimension |
Definition at line 58 of file normalize_field_2d.c.
Referenced by wt_downscaling(), and wt_learning().
00058 { 00059 00070 int nt; /* Time loop counter */ 00071 int dima; /* First dimension counter */ 00072 int dimb; /* Second dimension counter */ 00073 00074 /* Loop over all elements and normalize */ 00075 for (nt=0; nt<ntime; nt++) 00076 for (dimb=0; dimb<ndimb; dimb++) 00077 for (dima=0; dima<ndima; dima++) 00078 nbuf[dima+dimb*ndima+nt*ndima*ndimb] = (buf[dima+dimb*ndima+nt*ndima*ndimb] - mean[dima+dimb*ndima]) / sqrt(var[dima+dimb*ndima]); 00079 }