誰かがこの問題で私を助けることができます: 私は行 i、1 次元配列 p および 2 次元配列 (行列) Q を持っています。したがって、問題は、for を使用せずに Q からの行 i で 1 次元配列 p を初期化する必要があることです。 -ループ。どうやってやるの?
void simVarDiscr(int m, int *x, double *p){//m is the number of elements of x and p
int i;
for(i=0;i<m;i++){
x[i]=i;
init_genrand(254);//is a function from Mersenne-Twister algorithm
p[i]=genrand_int32()%m;
}
}
int LantMarkov(int m,double *pi0,float **Q){
int *s,k,j;double *p;
s=(int *)malloc(n*sizeof(int));
p=(double *)calloc(m,sizeof(double));
simVarDiscr(m,s,pi0);
j=s[0];
for(k=0;k<n;k++){
memcpy(p, Q[j], m);
simVarDiscr(m,s,p);
j=s[k];
}