version 1.353, 2023/05/08 18:48:22
|
version 1.358, 2023/06/14 14:57:02
|
Line 1
|
Line 1
|
/* $Id$ |
/* $Id$ |
$State$ |
$State$ |
$Log$ |
$Log$ |
|
Revision 1.358 2023/06/14 14:57:02 brouard |
|
* imach.c (Module): Testing if conjugate gradient could be quicker when lot of variables POWELLORIGINCONJUGATE |
|
|
|
Revision 1.357 2023/06/14 14:55:52 brouard |
|
* imach.c (Module): Testing if conjugate gradient could be quicker when lot of variables POWELLORIGINCONJUGATE |
|
|
|
Revision 1.356 2023/05/23 12:08:43 brouard |
|
Summary: 0.99r46 |
|
|
|
* imach.c (Module): Fixed PROB_r |
|
|
|
Revision 1.355 2023/05/22 17:03:18 brouard |
|
Summary: 0.99r46 |
|
|
|
* imach.c (Module): In the ILK....txt file, the number of columns |
|
before the covariates values is dependent of the number of states (16+nlstate): 0.99r46 |
|
|
|
Revision 1.354 2023/05/21 05:05:17 brouard |
|
Summary: Temporary change for imachprax |
|
|
Revision 1.353 2023/05/08 18:48:22 brouard |
Revision 1.353 2023/05/08 18:48:22 brouard |
*** empty log message *** |
*** empty log message *** |
|
|
Line 1278 Important routines
|
Line 1298 Important routines
|
/* #define POWELLORIGINAL /\* Don't use Directest to decide new direction but original Powell test *\/ */ |
/* #define POWELLORIGINAL /\* Don't use Directest to decide new direction but original Powell test *\/ */ |
/* #define MNBRAKORIGINAL /\* Don't use mnbrak fix *\/ */ |
/* #define MNBRAKORIGINAL /\* Don't use mnbrak fix *\/ */ |
/* #define FLATSUP *//* Suppresses directions where likelihood is flat */ |
/* #define FLATSUP *//* Suppresses directions where likelihood is flat */ |
|
#define POWELLORIGINCONJUGATE /* Don't use conjugate but biggest decrease if valuable */ |
|
|
#include <math.h> |
#include <math.h> |
#include <stdio.h> |
#include <stdio.h> |
Line 1374 double gnuplotversion=GNUPLOTVERSION;
|
Line 1395 double gnuplotversion=GNUPLOTVERSION;
|
/* $State$ */ |
/* $State$ */ |
#include "version.h" |
#include "version.h" |
char version[]=__IMACH_VERSION__; |
char version[]=__IMACH_VERSION__; |
char copyright[]="April 2023,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015-2020, Nihon University 2021-202, INED 2000-2022"; |
char copyright[]="Testing conjugate April 2023,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015-2020, Nihon University 2021-202, INED 2000-2022"; |
char fullversion[]="$Revision$ $Date$"; |
char fullversion[]="$Revision$ $Date$"; |
char strstart[80]; |
char strstart[80]; |
char optionfilext[10], optionfilefiname[FILENAMELENGTH]; |
char optionfilext[10], optionfilefiname[FILENAMELENGTH]; |
Line 1612 int **nbcode, *Tvar; /**< model=V2 => Tv
|
Line 1633 int **nbcode, *Tvar; /**< model=V2 => Tv
|
/* Tage[cptcovage]=k 5 8 10 */ /* Position in the model of ith cov*age */ |
/* Tage[cptcovage]=k 5 8 10 */ /* Position in the model of ith cov*age */ |
/* model="V2+V3+V4+V6+V7+V6*V2+V7*V2+V6*V3+V7*V3+V6*V4+V7*V4+age*V2+age*V3+age*V4+age*V6+age*V7+age*V6*V2+age*V6*V3+age*V7*V3+age*V6*V4+age*V7*V4\r"*/ |
/* model="V2+V3+V4+V6+V7+V6*V2+V7*V2+V6*V3+V7*V3+V6*V4+V7*V4+age*V2+age*V3+age*V4+age*V6+age*V7+age*V6*V2+age*V6*V3+age*V7*V3+age*V6*V4+age*V7*V4\r"*/ |
/* p Tvard[1][1]@21 = {6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0}*/ |
/* p Tvard[1][1]@21 = {6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0}*/ |
/* p Tvard[2][1]@21 = {7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0 <repeats 11 times>} |
/* p Tvard[2][1]@21 = {7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0 <repeats 11 times>} */ |
/* p Tvardk[1][1]@24 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0}*/ |
/* p Tvardk[1][1]@24 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0}*/ |
/* p Tvardk[1][1]@22 = {0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0} */ |
/* p Tvardk[1][1]@22 = {0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 7, 2, 6, 3, 7, 3, 6, 4, 7, 4, 0, 0} */ |
/* Tvard[1][1]@4={4,3,1,2} V4*V3 V1*V2 */ /* Position in model of the ith prod without age */ |
/* Tvard[1][1]@4={4,3,1,2} V4*V3 V1*V2 */ /* Position in model of the ith prod without age */ |
Line 2741 void powell(double p[], double **xi, int
|
Line 2762 void powell(double p[], double **xi, int
|
printf("%d",i);fflush(stdout); /* print direction (parameter) i */ |
printf("%d",i);fflush(stdout); /* print direction (parameter) i */ |
fprintf(ficlog,"%d",i);fflush(ficlog); |
fprintf(ficlog,"%d",i);fflush(ficlog); |
#ifdef LINMINORIGINAL |
#ifdef LINMINORIGINAL |
linmin(p,xit,n,fret,func); /* Point p[n]. xit[n] has been loaded for direction i as input.*/ |
linmin(p,xit,n,fret,func); /* New point i minimizing in direction i has coordinates p[j].*/ |
|
/* xit[j] gives the n coordinates of direction i as input.*/ |
|
/* *fret gives the maximum value on direction xit */ |
#else |
#else |
linmin(p,xit,n,fret,func,&flat); /* Point p[n]. xit[n] has been loaded for direction i as input.*/ |
linmin(p,xit,n,fret,func,&flat); /* Point p[n]. xit[n] has been loaded for direction i as input.*/ |
flatdir[i]=flat; /* Function is vanishing in that direction i */ |
flatdir[i]=flat; /* Function is vanishing in that direction i */ |
Line 2771 void powell(double p[], double **xi, int
|
Line 2794 void powell(double p[], double **xi, int
|
fprintf(ficlog,"\n"); |
fprintf(ficlog,"\n"); |
#endif |
#endif |
} /* end loop on each direction i */ |
} /* end loop on each direction i */ |
/* Convergence test will use last linmin estimation (fret) and compare former iteration (fp) */ |
/* Convergence test will use last linmin estimation (fret) and compare to former iteration (fp) */ |
/* But p and xit have been updated at the end of linmin, *fret corresponds to new p, xit */ |
/* But p and xit have been updated at the end of linmin, *fret corresponds to new p, xit */ |
/* New value of last point Pn is not computed, P(n-1) */ |
|
for(j=1;j<=n;j++) { |
for(j=1;j<=n;j++) { |
if(flatdir[j] >0){ |
if(flatdir[j] >0){ |
printf(" p(%d)=%lf flat=%d ",j,p[j],flatdir[j]); |
printf(" p(%d)=%lf flat=%d ",j,p[j],flatdir[j]); |
Line 2911 void powell(double p[], double **xi, int
|
Line 2933 void powell(double p[], double **xi, int
|
} |
} |
} |
} |
#endif |
#endif |
|
#ifdef POWELLORIGINCONJUGATE |
for (j=1;j<=n;j++) { |
for (j=1;j<=n;j++) { |
xi[j][ibig]=xi[j][n]; /* Replace direction with biggest decrease by last direction n */ |
xi[j][ibig]=xi[j][n]; /* Replace direction with biggest decrease by last direction n */ |
xi[j][n]=xit[j]; /* and this nth direction by the by the average p_0 p_n */ |
xi[j][n]=xit[j]; /* and this nth direction by the by the average p_0 p_n */ |
} |
} |
|
#else |
|
for (j=1;j<=n-1;j++) { |
|
xi[j][1]=xi[j][j+1]; /* Standard method of conjugate directions */ |
|
xi[j][n]=xit[j]; /* and this nth direction by the by the average p_0 p_n */ |
|
} |
|
#endif |
#ifdef LINMINORIGINAL |
#ifdef LINMINORIGINAL |
#else |
#else |
for (j=1, flatd=0;j<=n;j++) { |
for (j=1, flatd=0;j<=n;j++) { |
Line 2943 void powell(double p[], double **xi, int
|
Line 2972 void powell(double p[], double **xi, int
|
#endif |
#endif |
printf("Gaining to use new average direction of P0 P%d instead of biggest increase direction %d :\n",n,ibig); |
printf("Gaining to use new average direction of P0 P%d instead of biggest increase direction %d :\n",n,ibig); |
fprintf(ficlog,"Gaining to use new average direction of P0 P%d instead of biggest increase direction %d :\n",n,ibig); |
fprintf(ficlog,"Gaining to use new average direction of P0 P%d instead of biggest increase direction %d :\n",n,ibig); |
|
/* The minimization in direction $\xi_1$ gives $P_1$. From $P_1$ minimization in direction $\xi_2$ gives */ |
|
/* $P_2$. Minimization of line $P_2-P_1$ gives new starting point $P^{(1)}_0$ and direction $\xi_1$ is dropped and replaced by second */ |
|
/* direction $\xi_1^{(1)}=\xi_2$. Also second direction is replaced by new direction $\xi^{(1)}_2=P_2-P_0$. */ |
|
|
|
/* At the second iteration, starting from $P_0^{(1)}$, minimization amongst $\xi^{(1)}_1$ gives point $P^{(1)}_1$. */ |
|
/* Minimization amongst $\xi^{(1)}_2=(P_2-P_0)$ gives point $P^{(1)}_2$. As $P^{(2)}_1$ and */ |
|
/* $P^{(1)}_0$ are minimizing in the same direction $P^{(1)}_2 - P^{(1)}_1= P_2-P_0$, directions $P^{(1)}_2-P^{(1)}_0$ */ |
|
/* and $P_2-P_0$ (parallel to $\xi$ and $\xi^c$) are conjugate. } */ |
|
|
|
|
#ifdef DEBUG |
#ifdef DEBUG |
printf("Direction changed last moved %d in place of ibig=%d, new last is the average:\n",n,ibig); |
printf("Direction changed last moved %d in place of ibig=%d, new last is the average:\n",n,ibig); |
Line 4553 double funcone( double *x)
|
Line 4591 double funcone( double *x)
|
* 3 ncovta=15 +age*V3*V2+age*V2+agev3+ageV4 +age*V6 + age*V7 + age*V6*V3 +age*V7*V3 + age*V6*V4 +age*V7*V4 |
* 3 ncovta=15 +age*V3*V2+age*V2+agev3+ageV4 +age*V6 + age*V7 + age*V6*V3 +age*V7*V3 + age*V6*V4 +age*V7*V4 |
* 3 TvarAVVA[1]@15= itva 3 2 2 3 4 6 7 6 3 7 3 6 4 7 4 |
* 3 TvarAVVA[1]@15= itva 3 2 2 3 4 6 7 6 3 7 3 6 4 7 4 |
* 3 ncovta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
* 3 ncovta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
* TvarAVVAind[1]@15= V3 is in k=2 1 1 2 3 4 5 4,2 5,2, 4,3 5 3}TvarVVAind[] |
*?TvarAVVAind[1]@15= V3 is in k=2 1 1 2 3 4 5 4,2 5,2, 4,3 5 3}TvarVVAind[] |
* TvarAVVAind[1]@15= V3 is in k=6 6 12 13 14 15 16 18 18 19,19, 20,20 21,21}TvarVVAind[] |
* TvarAVVAind[1]@15= V3 is in k=6 6 12 13 14 15 16 18 18 19,19, 20,20 21,21}TvarVVAind[] |
* 3 ncovvta=10 +age*V6 + age*V7 + age*V6*V3 +age*V7*V3 + age*V6*V4 +age*V7*V4 |
* 3 ncovvta=10 +age*V6 + age*V7 + age*V6*V3 +age*V7*V3 + age*V6*V4 +age*V7*V4 |
* 3 we want to compute =cotvar[mw[mi][i]][TvarVVA[ncovva]][i] at position TvarVVAind[ncovva] |
* 3 we want to compute =cotvar[mw[mi][i]][TvarVVA[ncovva]][i] at position TvarVVAind[ncovva] |
Line 4568 double funcone( double *x)
|
Line 4606 double funcone( double *x)
|
* 6, 8, 9, 10, 11} |
* 6, 8, 9, 10, 11} |
* TvarFind[itv] 0 0 0 |
* TvarFind[itv] 0 0 0 |
* FixedV[itv] 1 1 1 0 1 0 1 0 1 0 0 |
* FixedV[itv] 1 1 1 0 1 0 1 0 1 0 0 |
|
*? FixedV[itv] 1 1 1 0 1 0 1 0 1 0 1 0 1 0 |
* Tvar[TvarFind[ncovf]]=[1]=2 [2]=3 [4]=4 |
* Tvar[TvarFind[ncovf]]=[1]=2 [2]=3 [4]=4 |
* Tvar[TvarFind[itv]] [0]=? ?ncovv 1 à ncovvt] |
* Tvar[TvarFind[itv]] [0]=? ?ncovv 1 à ncovvt] |
* Not a fixed cotvar[mw][itv][i] 6 7 6 2 7, 2, 6, 3, 7, 3, 6, 4, 7, 4} |
* Not a fixed cotvar[mw][itv][i] 6 7 6 2 7, 2, 6, 3, 7, 3, 6, 4, 7, 4} |
Line 4579 double funcone( double *x)
|
Line 4618 double funcone( double *x)
|
ipos=TvarVVind[ncovv]; /* TvarVVind={2, 5, 5] gives the position in the model of the ncovv th varying covariate*/ |
ipos=TvarVVind[ncovv]; /* TvarVVind={2, 5, 5] gives the position in the model of the ncovv th varying covariate*/ |
/* if(TvarFind[itv]==0){ /\* Not a fixed covariate? Could be a fixed covariate of a product with a higher than ncovcol+nqv, itv *\/ */ |
/* if(TvarFind[itv]==0){ /\* Not a fixed covariate? Could be a fixed covariate of a product with a higher than ncovcol+nqv, itv *\/ */ |
if(FixedV[itv]!=0){ /* Not a fixed covariate? Could be a fixed covariate of a product with a higher than ncovcol+nqv, itv */ |
if(FixedV[itv]!=0){ /* Not a fixed covariate? Could be a fixed covariate of a product with a higher than ncovcol+nqv, itv */ |
|
/* printf("DEBUG ncovv=%d, Varying TvarVV[ncovv]=%d\n",ncovv, TvarVV[ncovv]); */ |
cotvarv=cotvar[mw[mi][i]][TvarVV[ncovv]][i]; /* because cotvar starts now at first ncovcol+nqv+ntv+nqtv (1 to nqtv) */ |
cotvarv=cotvar[mw[mi][i]][TvarVV[ncovv]][i]; /* because cotvar starts now at first ncovcol+nqv+ntv+nqtv (1 to nqtv) */ |
|
/* printf("DEBUG Varying cov[ioffset+ipos=%d]=%g \n",ioffset+ipos,cotvarv); */ |
}else{ /* fixed covariate */ |
}else{ /* fixed covariate */ |
/* cotvarv=covar[Tvar[TvarFind[itv]]][i]; /\* Error: TvarFind gives the name, that is the true column of fixed covariates, but Tvar of the model *\/ */ |
/* cotvarv=covar[Tvar[TvarFind[itv]]][i]; /\* Error: TvarFind gives the name, that is the true column of fixed covariates, but Tvar of the model *\/ */ |
|
/* printf("DEBUG ncovv=%d, Fixed TvarVV[ncovv]=%d\n",ncovv, TvarVV[ncovv]); */ |
cotvarv=covar[itv][i]; /* Good: In V6*V3, 3 is fixed at position of the data */ |
cotvarv=covar[itv][i]; /* Good: In V6*V3, 3 is fixed at position of the data */ |
|
/* printf("DEBUG Fixed cov[ioffset+ipos=%d]=%g \n",ioffset+ipos,cotvarv); */ |
} |
} |
if(ipos!=iposold){ /* Not a product or first of a product */ |
if(ipos!=iposold){ /* Not a product or first of a product */ |
cotvarvold=cotvarv; |
cotvarvold=cotvarv; |
Line 4591 double funcone( double *x)
|
Line 4634 double funcone( double *x)
|
} |
} |
iposold=ipos; |
iposold=ipos; |
cov[ioffset+ipos]=cotvarv; |
cov[ioffset+ipos]=cotvarv; |
|
/* printf("DEBUG Product cov[ioffset+ipos=%d] \n",ioffset+ipos); */ |
/* For products */ |
/* For products */ |
} |
} |
/* for(itv=1; itv <= ntveff; itv++){ /\* Varying dummy covariates single *\/ */ |
/* for(itv=1; itv <= ntveff; itv++){ /\* Varying dummy covariates single *\/ */ |
Line 4933 void mlikeli(FILE *ficres,double p[], in
|
Line 4977 void mlikeli(FILE *ficres,double p[], in
|
double fret; |
double fret; |
double fretone; /* Only one call to likelihood */ |
double fretone; /* Only one call to likelihood */ |
/* char filerespow[FILENAMELENGTH];*/ |
/* char filerespow[FILENAMELENGTH];*/ |
|
|
|
double * p1; /* Shifted parameters from 0 instead of 1 */ |
#ifdef NLOPT |
#ifdef NLOPT |
int creturn; |
int creturn; |
nlopt_opt opt; |
nlopt_opt opt; |
/* double lb[9] = { -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL }; /\* lower bounds *\/ */ |
/* double lb[9] = { -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL, -HUGE_VAL }; /\* lower bounds *\/ */ |
double *lb; |
double *lb; |
double minf; /* the minimum objective value, upon return */ |
double minf; /* the minimum objective value, upon return */ |
double * p1; /* Shifted parameters from 0 instead of 1 */ |
|
myfunc_data dinst, *d = &dinst; |
myfunc_data dinst, *d = &dinst; |
#endif |
#endif |
|
|
|
|
xi=matrix(1,npar,1,npar); |
xi=matrix(1,npar,1,npar); |
for (i=1;i<=npar;i++) |
for (i=1;i<=npar;i++) /* Starting with canonical directions j=1,n xi[i=1,n][j] */ |
for (j=1;j<=npar;j++) |
for (j=1;j<=npar;j++) |
xi[i][j]=(i==j ? 1.0 : 0.0); |
xi[i][j]=(i==j ? 1.0 : 0.0); |
printf("Powell\n"); fprintf(ficlog,"Powell\n"); |
printf("Powell\n"); fprintf(ficlog,"Powell\n"); |
Line 5275 double hessij( double x[], double **hess
|
Line 5320 double hessij( double x[], double **hess
|
kmax=kmax+10; |
kmax=kmax+10; |
} |
} |
if(kmax >=10 || firstime ==1){ |
if(kmax >=10 || firstime ==1){ |
|
/* What are the thetai and thetaj? thetai/ncovmodel thetai=(thetai-thetai%ncovmodel)/ncovmodel +thetai%ncovmodel=(line,pos) */ |
printf("Warning: directions %d-%d, you are not estimating the Hessian at the exact maximum likelihood; you could increase ftol=%.2e\n",thetai,thetaj, ftol); |
printf("Warning: directions %d-%d, you are not estimating the Hessian at the exact maximum likelihood; you could increase ftol=%.2e\n",thetai,thetaj, ftol); |
fprintf(ficlog,"Warning: directions %d-%d, you are not estimating the Hessian at the exact maximum likelihood; you could increase ftol=%.2e\n",thetai,thetaj, ftol); |
fprintf(ficlog,"Warning: directions %d-%d, you are not estimating the Hessian at the exact maximum likelihood; you could increase ftol=%.2e\n",thetai,thetaj, ftol); |
printf("%d %d k=%d, k1=%.12e k2=%.12e k3=%.12e k4=%.12e delti*k=%.12e deltj*k=%.12e, xi-de*k=%.12e xj-de*k=%.12e res=%.12e k1234=%.12e,k1-2=%.12e,k3-4=%.12e\n",thetai,thetaj,k,k1,k2,k3,k4,delti[thetai]/k,delti[thetaj]/k,x[thetai]-delti[thetai]/k,x[thetaj]-delti[thetaj]/k, res,k1-k2-k3+k4,k1-k2,k3-k4); |
printf("%d %d k=%d, k1=%.12e k2=%.12e k3=%.12e k4=%.12e delti*k=%.12e deltj*k=%.12e, xi-de*k=%.12e xj-de*k=%.12e res=%.12e k1234=%.12e,k1-2=%.12e,k3-4=%.12e\n",thetai,thetaj,k,k1,k2,k3,k4,delti[thetai]/k,delti[thetaj]/k,x[thetai]-delti[thetai]/k,x[thetaj]-delti[thetaj]/k, res,k1-k2-k3+k4,k1-k2,k3-k4); |
Line 7612 void varprob(char optionfilefiname[], do
|
Line 7658 void varprob(char optionfilefiname[], do
|
double ***varpij; |
double ***varpij; |
|
|
strcpy(fileresprob,"PROB_"); |
strcpy(fileresprob,"PROB_"); |
strcat(fileresprob,fileres); |
strcat(fileresprob,fileresu); |
if((ficresprob=fopen(fileresprob,"w"))==NULL) { |
if((ficresprob=fopen(fileresprob,"w"))==NULL) { |
printf("Problem with resultfile: %s\n", fileresprob); |
printf("Problem with resultfile: %s\n", fileresprob); |
fprintf(ficlog,"Problem with resultfile: %s\n", fileresprob); |
fprintf(ficlog,"Problem with resultfile: %s\n", fileresprob); |
Line 8360 true period expectancies (those weighted
|
Line 8406 true period expectancies (those weighted
|
/******************* Gnuplot file **************/ |
/******************* Gnuplot file **************/ |
void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, double agemaxpar, double bage, double fage , int prevfcast, int prevbcast, char pathc[], double p[], int offyear, int offbyear){ |
void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, double agemaxpar, double bage, double fage , int prevfcast, int prevbcast, char pathc[], double p[], int offyear, int offbyear){ |
|
|
char dirfileres[132],optfileres[132]; |
char dirfileres[256],optfileres[256]; |
char gplotcondition[132], gplotlabel[132]; |
char gplotcondition[256], gplotlabel[256]; |
int cpt=0,k1=0,i=0,k=0,j=0,jk=0,k2=0,k3=0,k4=0,kf=0,kvar=0,kk=0,ipos=0,iposold=0,ij=0, ijp=0, l=0; |
int cpt=0,k1=0,i=0,k=0,j=0,jk=0,k2=0,k3=0,k4=0,kf=0,kvar=0,kk=0,ipos=0,iposold=0,ij=0, ijp=0, l=0; |
int lv=0, vlv=0, kl=0; |
int lv=0, vlv=0, kl=0; |
int ng=0; |
int ng=0; |
Line 8432 void printinggnuplot(char fileresu[], ch
|
Line 8478 void printinggnuplot(char fileresu[], ch
|
kvar=Tvar[TvarFind[kf]]; /* variable name */ |
kvar=Tvar[TvarFind[kf]]; /* variable name */ |
/* k=18+Tvar[TvarFind[kf]];/\*offset because there are 18 columns in the ILK_ file but could be placed else where *\/ */ |
/* k=18+Tvar[TvarFind[kf]];/\*offset because there are 18 columns in the ILK_ file but could be placed else where *\/ */ |
/* k=18+kf;/\*offset because there are 18 columns in the ILK_ file *\/ */ |
/* k=18+kf;/\*offset because there are 18 columns in the ILK_ file *\/ */ |
k=19+kf;/*offset because there are 19 columns in the ILK_ file */ |
/* k=19+kf;/\*offset because there are 19 columns in the ILK_ file *\/ */ |
|
k=16+nlstate+kf;/*offset because there are 19 columns in the ILK_ file, first cov Vn on col 21 with 4 living states */ |
for (i=1; i<= nlstate ; i ++) { |
for (i=1; i<= nlstate ; i ++) { |
fprintf(ficgp,"\nset out \"%s-p%dj-%d.png\";set ylabel \"Probability for each individual/wave\";",subdirf2(optionfilefiname,"ILK_"),i,kvar); |
fprintf(ficgp,"\nset out \"%s-p%dj-%d.png\";set ylabel \"Probability for each individual/wave\";",subdirf2(optionfilefiname,"ILK_"),i,kvar); |
fprintf(ficgp,"unset log;\n# For each simple dummy covariate of the model \n plot \"%s\"",subdirf(fileresilk)); |
fprintf(ficgp,"unset log;\n# For each simple dummy covariate of the model \n plot \"%s\"",subdirf(fileresilk)); |