# [Gretl-users] removing nan and inf from a matrix

Wed Jul 31 08:40:16 EDT 2013

```Thank you Giuseppe. As I said, very useful to know.

Cheers,
Artur

Am 31.07.2013 13:48, schrieb Giuseppe Vittucci:
> 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].
>
> Bye
> Giuseppe
>
> 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.
>> Artur
>>
>> 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
>>>
>>
>
>
>
> _______________________________________________
> Gretl-users mailing list
> Gretl-users at lists.wfu.edu
> http://lists.wfu.edu/mailman/listinfo/gretl-users
>

--
Jabber account: t.artur at ubuntu-jabber.de
Join me on Diaspora: ArturT at kosmospora.net
(Invitation to Diaspora: kosmospora.net/i/94ce021fe957

You would like to send an encrypted PGP message?
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)

/mSFcK3p5RkpSLjI1CoD0ocLizImUmuMRPneyi2/MEKyTelMR5VG2d6B0xS8gs+d
xbCLQ1kUDWYMmkrM2S2evH3/T5T+2ND5JzLILbbLix6Tos1N8FZyecI6WJUwN4t8
TIkn3Y9Pk/VKwBCLsMh7+i8zlhpO39MQLnFp40GZgnr/xiOhdmEFSzSM++SHwByg
4+vp5qRauZAI14yysMS2cjoiTqWbACf2tyJqiS5usCjO7GzVP7IkN8636mrIyovZ
JV0EjUUq5RXzRW1E9o0rxbkjq5LpMzkbawjjABEBAAG0HkFydHVyIFQuIDx0X2Fy
dHVyQGxhdmFiaXQuY29tPokBPgQTAQIAKAUCUepJAAIbIwUJCWYBgAYLCQgHAwIG
FQgCCQoLBBYCAwECHgECF4AACgkQ6Xw4V49pjGZhSwf+Pr9ml4pGm3S4hOGNeDQM
+LgDJ813WKuWk0+wAuFkBbPqVuTQRy56Xdbi5Zm0kAk9tE0smBlZyAGiBd1w+pcI
pyI80ZWUrFA1iZHQFdoKgGvTH62THW3XU4qLfW/kNrOmZLPoRYUCuAoovH9PVy8i
sda97qz78VPrKF4WcKmuoKnRkb74+zg46glMEwFlQXESh3GczmJ+xZxYYAAeMcYW
4AsQjFA3gfj4c0RYmoUjfaf1I0GQ67Hcvbf7r31Nhag8wRXl4xuNzgYaG9xyALkF
iMUubIcAZhxVZAQid7y/6il7CjqMudkY6bY4u5tAlnlLWGtetVg7i7MmJFcon1ui
ebkBDQRR6kkAAQgA/quczNzkw620xl0ky/E6FQdbMCxHTDQ3yiz3A9Nr8hYp37mb
KTw+G25ToGMdLahwqZzQ3gVc5wFssav5i98NflUeZOfbhbXUoK3clA4rigaPAzIq
hHptbie3hE6PWPAa9pItJrpOa0z2C9Mfe5ayiwwGid79cV9TnSJzE4AZqHem3YHC
+3jnfdPiQ7mERFmZgxczXDo4pnM8t2vEu3siuq8Nx0dgL76Ow0uF1diEuqB83eGW
P3JGezxTci1kpEVpK2BXGk3AQgXL1pzy8iidvQARAQABiQElBBgBAgAPBQJR6kkA
AhsMBQkJZgGAAAoJEOl8OFePaYxmlN4H/RHiCJxgE4vgrMpRxj+hnBaGvOCO4yVX
iOTVF085y4HTCSMQqHufsGNAkFfCej+rydFT0ptpCj76SRgepGRZ4SFMwUOkee/T
q7SdPMF6vpPMEI94tS8cOit6WB55gHhYZbDKtjjVoWloRg3GgR9rSK78aq2udYG7
yRA3T3+NRK4XZIwAt2VqnKGAjiODUjnlSxkW4E46o93CgyX/oGOAFmyLdYnUQclT
hD/nGC0rudciqEr04m4fy2pPLpzYZPoPU6pD3UfTqt3ufN0sJqkexy41v4kgunyg
AnDETvXKKT3ipBDcqq/0t0VFjtTgqpK7F000AShZtU4vjczFFUy1Mw8=
=H2AF
-----END PGP PUBLIC KEY BLOCK-----
```