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

Solved
Super Contributor
Posts: 328

# 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;

do i = 1 to nrow(DM);

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

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

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: 4,174

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

A_i is not defined in the module.

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

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

A_i is not defined in the module.

Super Contributor
Posts: 328

## 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;

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,);

end;

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

append;

quit;

🔒 This topic is solved and locked.