在运行时的日志记载了这个错误:ERROR: (execution) Invalid argument to function.请问该如何解决呢?谢谢!
代码如下:
proc iml;
use dataset2;
read all into data;
show names;
print data;
start maxFunc1(F) global(data);
sum=0;
Uf=J(1,3,0);
do i=1 to 100;
do j=1 to 10;
Uf[1]=F[j]*data[i,j]+Uf[1];
Uf[2]=F[j]*data[i,10+j]+Uf[2];
end;
Uf[3]=Uf[1]*data[i,21]+Uf[2]*data[i,22]+F[11]*data[i,23];
sum=sum- log(exp(Uf[1]-Uf[3])+exp(Uf[2]-Uf[3])+exp(F[11]-Uf[3]));
end;
return(sum);
finish maxFunc1;
optn={1 2};
X=J(1,11,0);
call nlpcg(rc,xres,"maxFunc1",X,optn);
run;
quit;