楼主: lya046
5972 4

请教:如何解决iml程序段中的错误: Invalid argument to function [推广有奖]

  • 0关注
  • 0粉丝

高中生

77%

还不是VIP/贵宾

-

威望
0
论坛币
47 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
238 点
帖子
26
精华
0
在线时间
8 小时
注册时间
2009-2-20
最后登录
2010-1-3

楼主
lya046 发表于 2009-7-11 20:56:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在运行时的日志记载了这个错误: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;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:argument function invalid Valid ALI 程序 invalid function iml argument

回帖推荐

david0 发表于4楼  查看完整内容

EXP(argument) 函数中的参数必须是正数,但是在你的方程中, F[1]=...=F[11]=0; 导致Uf[1]=0;Uf[2]=0; 进而导致Uf[3]=0; 故你传入的参数都是0,引起错误。建议初始化F为其他值。

本帖被以下文库推荐

沙发
cluky 发表于 2009-7-11 22:00:26
帮顶,不清楚什么错误

藤椅
lya046 发表于 2009-7-11 22:27:41
运行程序显示exp函数调用出错误:sum=sum- log(exp(Uf[1]-Uf[3])+exp(Uf[2]-Uf[3])+exp(F[11]-Uf[3]));
但我看不出问题在哪里。

板凳
david0 发表于 2009-7-11 23:32:34
EXP(argument) 函数中的参数必须是正数,但是在你的方程中,
F[1]=...=F[11]=0; 导致Uf[1]=0;Uf[2]=0; 进而导致Uf[3]=0;
故你传入的参数都是0,引起错误。建议初始化F为其他值。
已有 2 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子
admin + 20

总评分: 经验 + 3  论坛币 + 23   查看全部评分

报纸
datouwawa113 在职认证  发表于 2013-11-14 16:49:59
请问,"show names"的作用是?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 04:13