>
> This is an excerpt from a mata program:
>
> for (i=k; i<=n; i++) {
> if (c[i,i] > ep) {
> cii = sqrt(max(c[i,i],0))
> if (i > 1) {
> s = [|i,1\k-1|]*y[|1\k-1|]
> }
> ai = (a[i] - s)/cii
> bi = (b[i]-s)/cii
> de = normal(bi) - normal(ai)
> if (de <= dem ) {
> ckk = cii; dem = de; am = ai;
> bm = bi; im = i;
> }
> }
> }
>
> When I run it though I get the following error:
>
> nothing found where subexp expected
>
> Does anyone know what this means and where the error may lie?
>
I think it might be your use of square brackets in the line
s = [|i,1\k-1|]*y[|1\k-1|]
Maybe it should have been
s = s[|i,1\k-1|]*y[|1\k-1|]
or something like that.
Otherwise, I don't think square brackets are allowed to be used to separate elements
of a mathematical expression... use normal brackets instead.
: x = 1,2,3,4
: x
1 2 3 4
+-----------------+
1 | 1 2 3 4 |
+-----------------+
: s = [x:*2]
nothing found where subexp expected
r(3000);
: s = (x:*2)
: s
1 2 3 4
+-----------------+
1 | 2 4 6 8 |
+-----------------+
:
- Jesper K. Hansen
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/