67 proc iml;
NOTE: IML Ready
68 start newton;
69 a0=451-sum(a);
70 c0=1/a0+1/(902-a0);
71 do nrow=1 to 3;
72 ex=l[nrow]+log10(a0)+log10(n[nrow]-a[nrow])-log10(a[nrow])-log10(337-a0);
73 e[nrow]=ex;
74 c[nrow]=1/a[nrow]+1/(902-a[nrow]);
75 do ncol=1 to 3;
76 if nrow=ncol then
77 h[nrow,ncol]=c[nrow]+c0;
78 else h[nrow,ncol]=c0;
79 end;
80 a=a+inv(h)*e;
81 end;
82 finish newton;
NOTE: Module NEWTON defined.
83 do;
84 a={74,90,122};
85 n={167,186,212};
86 l={0.8,1.16,1.57};
87 run newton;
88 print a;
89 end;
ERROR: (execution) Matrix has not been set to a value.
operation : [ at line 73 column 2
operands : E, NROW, EX
E 0 row 0 col (type ?, size 0)
NROW 1 row 1 col (numeric)
1
EX 1 row 1 col (numeric)
0.8812067
statement : ASSIGN at line 73 column 1
traceback : module NEWTON at line 73 column 1
NOTE: Paused in module NEWTON.
十分感谢。。。。