Search code examples
c#matlaboctavenanilnumerics

ILNumerics equivalent of MatLab/Octave statement


Question

In MatLab/Octave, I have the statement x(isnan(x)) = 0. I am porting this over to ILNumerics in C#. I am having trouble finding the ILNumerics equivalent to the MatLab/Octave statement mentioned.

In our case, x is a 2x2 array.

What we've tried

  1. noNaNDataValues = dataValues[ILMath.isnan(dataValues)] = 0.0; where dataValues is an ILArray<double>
  2. We have resorted to standard C# for loops and that works fine. But we would rather use ILNumerics considering how much we've invested in it already.

Solution

  • Just use

    x[isnan(x)] = 0;
    

    This is directly equivalent to Matlabs syntax. Your first attempt suggests that you want to seperate non-NaN values from NaNs? If so, please clarify.