580
社区成员
发帖
与我相关
我的任务
分享
for(t=1;t<=10;t++)
{
for(int i=1;i<A;i++)
{
for(int j=1;j<B;j++)
{
if(data[i*B+j]!=-9999||data[i*B+j]!=1)
{
/*for(int m=i-1;m<i+2;m++)
{
for(int n=j-1;n<j+2;n++)
{
if(data[m*B+n]==1)
{
near=near+1;
}
}
}
float near2=near/48;
float randdata;
float rad=rand()/(RAND_MAX+1.0);
randdata=1+pow(-log(rad), 2);
int suitdata=suit[i*B+j];
float posdata=so[i*B+j];
P[i*B+j]=suitdata*posdata*randdata;
//near=0;
//printf("P[%d][%d]=%f\n",i,j,P[i*B+j]);
}
}
}
int count;
for(count=1;count<=250;)
{
for(int i=0;i<A;i++)
{
for(int j=0;j<B;j++)
{
float max=0;
//int x=0;
//int y=0;
for(int m=0;m<A;m++)
{
for(int n=0;n<B;n++)
{
if(P[m*B+n]>max)
{
max=P[m*B+n];
//x=m;
//y=n;
}
}
}
if(P[i*B+j]==max)//将转换概率最大的非建设用地变为建设用地,然后将对应的P值变为0
{
if(data[i*B+j]!=1)
{
data[i*B+j]=1;
P[i*B+j]=0;
count=count+1;
if(count>250)
break;
}
}
}
}
}
}