when i run the program, error returns as follows:
------\src\cmlmt.src(1655) : error G0094 : Argument out of range
------Currently active call: cmlmt [1655] d:\download\aptech gauss\gauss10\src\cmlmt.src
------Stack trace:
------cmlmt called from D:\gauss10\GAUSS@lee\msckls, line 45
line1655 of cmlmt.src is:
------dv = cdftci(0.5*c1.Alpha,out1.NumObs-pvLength(out1.par)).*se;
line 45 of my program "msckls" is:
------call cmlmtprt(cmlmt(&mscklslnl,p0,d0,c0));
i dont know how to modify my program
2 Answers
1
accepted
Your log-likelihood procedure is probably returning a scalar value, and in that case CMLMT doesn't know what the number of observations are so you need to tell it:
struct cmlmtControl c0;
c0.numObs = 100; // or whatever the number of observations is
1
Your error message most likely implies that one of your inputs into the call to cdftci on line 1655 of cmlmt.src are not valid inputs. These inputs are c1.Alpha, out1.Numobs, and the length of the out1.par vector. These inputs can in turn be traced back to the original call to cmlmtprt and cmlmt on line 45 of your program.
My guess is that the input of out1.numObs - pvLength(out1.par) is not a valid value. One possible way to confirm this is to use the GAUSS debugger tool with a break point set at line 1655 of cmlmt.src. Once you get to the break point you can check the values of out1.numObs and out1.par. This will at least give you an indication of what inputs are causing the error. However, without further information about your original program "msckls", it is difficult to discern how you should modify your code to address this issue.
Your Answer
2 Answers
Your log-likelihood procedure is probably returning a scalar value, and in that case CMLMT doesn't know what the number of observations are so you need to tell it:
struct cmlmtControl c0;
c0.numObs = 100; // or whatever the number of observations is
Your error message most likely implies that one of your inputs into the call to cdftci on line 1655 of cmlmt.src are not valid inputs. These inputs are c1.Alpha, out1.Numobs, and the length of the out1.par vector. These inputs can in turn be traced back to the original call to cmlmtprt and cmlmt on line 45 of your program.
My guess is that the input of out1.numObs - pvLength(out1.par) is not a valid value. One possible way to confirm this is to use the GAUSS debugger tool with a break point set at line 1655 of cmlmt.src. Once you get to the break point you can check the values of out1.numObs and out1.par. This will at least give you an indication of what inputs are causing the error. However, without further information about your original program "msckls", it is difficult to discern how you should modify your code to address this issue.