我想把这个公式变成R代码,但是第二项总是编错,请大家帮帮我!
CD=function(x){ ##### x表示输入的设计矩阵#####
n=nrow(x)
m=ncol(x)
f=array(0,dim=c(n,1))
for(i in 1:n)
{
u=array(0,dim=c(1,m))
for(j in 1:m)
{
u[1,j]=1+(1/2)*((x[i,j]-0.5)^2)^(1/2)-(1/2)*(x[i,j]-0.5)^2
}
j=1
f[i,1]=1
while(j<=m) {
f[i,1]=f[i,1]*u[1,j]
i=i+1
}
}
g=array(0,dim=c(n,n))
for(i in 1:n)
{for(k in 1:n)
{
v=array(0,dim=c(1,m))
for(j in 1:m)
{
v[1,j]=1+(1/2)*((x[i,j]-0.5)^2)^(1/2)+(1/2)*((x[k,j]-0.5)^2)^(1/2)-(1/2)*((x[i,j]-x[k,j])^2)^(1/2)
}
j=1
g[i,k]=1
while(j<=m) {
g[i,k]=g[i,k]*v[1,j]
j=j+1
}
}
}
CD=(13/12)^m-(1/n)*sum(f)+(1/n^2)*sum(g)
CD
}
d=matrix(c(
0,1,1,1,0,1,0,1,0,0,1,1,1,1,0,1,
1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,0,
1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,
1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,
0,0,1,1,0,1,1,0,1,0,0,1,0,1,1,1,
1,1,1,0,0,1,0,0,1,1,0,1,0,0,1,1,
1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,
1,0,0,1,0,1,1,0,1,0,1,0,0,0,1,0
),ncol=16,nrow=8,byrow=T)
CD(d)
```我一下!
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/761879031676181.jpg "#left")