Statistical programming, matrix languages, and more

ERROR: (execution) Matrix has not been set to a value.

Accepted Solution Solved
Reply
Super Contributor
Posts: 303
Accepted Solution

ERROR: (execution) Matrix has not been set to a value.

I m having issues with this, I have to compute numerical integral using if else statement

Data sim;

Input A B C Beta P;

cards;

1 2  3  0.5  0

2 3  4  0.5  1

3 4.5 3  0.5 1

3 5 6  0.5   0

;

Run;

proc iml;

use sim;

read all var _NUM_ into DM;

close;

A = DM[,1]; B = DM[,2]; C = DM[,3];  Beta = DM[,4];  P = DM[,5];

n = nrow(DM);

start Func(x) global( Beta_i, C_i , P_i);

if P_i=0 then do;

   return(  exp(-x)*exp(2-x +Beta_i*C_i)#(cdf("Normal", x-2+Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) );

end;

else do;

return(  exp(-x)*exp(4-x +Beta_i*C_i)#(cdf("Normal", x-4 +Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) );

end;

finish;

answer = j(nrow(DM),1);

do i = 1 to nrow(DM);

   Beta_i = Beta; C_i = C;  P_i=P; /* set global variables */

   call quad(result, "Func", A || B,);

   answer = result;

end;

create kaplan1n var{A  B C Beta P Answer };

append;

quit;


Accepted Solutions
Solution
‎09-26-2014 04:28 PM
SAS Super FREQ
Posts: 3,620

Re: ERROR: (execution) Matrix has not been set to a value.

A_i is not defined in the module.

View solution in original post


All Replies
Solution
‎09-26-2014 04:28 PM
SAS Super FREQ
Posts: 3,620

Re: ERROR: (execution) Matrix has not been set to a value.

A_i is not defined in the module.

Super Contributor
Posts: 303

Re: ERROR: (execution) Matrix has not been set to a value.

Thanks Rick:

Data sim;

Input A B C Beta P;

cards;

1 2  3  0.5  0

2 3  4  0.5  1

3 4.5 3  0.5 1

3 5 6  0.5   0

;

Run;

proc iml;

use sim;

read all var _NUM_ into DM;

close;

A = DM[,1]; B = DM[,2]; C = DM[,3];  Beta = DM[,4];  P = DM[,5];

n = nrow(DM);

start Func(x) global( Beta_i, C_i , A_i, P_i);

if P_i=0 then do;

   return(  exp(-x)*exp(2-x +Beta_i*C_i)#(cdf("Normal", x-2+Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) );

end;

else do;

return(  exp(-x)*exp(4-x +Beta_i*C_i)#(cdf("Normal", x-4 +Beta_i*C_i + A_i)-cdf("Normal", x-1+C_i + A_i)) );

end;

finish;

answer = j(nrow(DM),1);

do i = 1 to nrow(DM);

   Beta_i = Beta; C_i = C; A_i=A; P_i=P; /* set global variables */

   call quad(result, "Func", A || B,);

   answer = result;

end;

create kaplan1n var{A  B C Beta P Answer };

append;

quit;

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 874 views
  • 0 likes
  • 2 in conversation