[Gretl-users] removing nan and inf from a matrix
ignatiusreilly75 at yahoo.it
Wed Jul 31 07:48:54 EDT 2013
It is an if condition on the single elements of a series
if (isnan(M[i]) = 1, i.e. the correspondent element of M is null) then
M[i] = 0 else
M[i] = M[i].
On Wed, 2013-07-31 at 12:56 +0200, Artur T. wrote:
> This is great! Actually, I was looking for something like this for a
> while. Could anybody explain the single elements of this command,
> please? It does not look very intuitive to me. Or is there reference in
> the gretl guide on this?
> M = isnan(M) ? 0 : M
> Thank you.
> Am 25.07.2013 11:28, schrieb Allin Cottrell:
> > On Tue, 23 Jul 2013, Logan Kelly wrote:
> >> I need to take the log difference of a matrix, i.e. log(M[2
> >> rows(M):,]/M[1:rows(M)-1,]). Unfortunately, M has elements
> >> equal to zero. I need to replace the nan's and inf's with
> >> 0's. This almost works
> >> M = isnan(M) ? 0 : M
> >> but does not remove inf's. Any sugestions?
> > Is this calculation actually legit? Assuming it is, then
> > <hansl>
> > matrix M = muniform(15,2)
> > M[2,2] = 0
> > M[3,2] = 0
> > matrix ldM = log(M[2:rows(M),] - M[1:rows(M)-1,])
> > ldM = isnan(0 * ldM) ? 0 : ldM
> > print M ldM
> > </hansl>
> > This relies on the IEEE 754 rules: both 0*inf and 0*(-inf)
> > return nan.
> > Allin Cottrell
> > _______________________________________________
> > Gretl-users mailing list
> > Gretl-users at lists.wfu.edu
> > http://lists.wfu.edu/mailman/listinfo/gretl-users
More information about the Gretl-users