Числовой эквивалент выражения MatLab / Octave

1

Вопрос

В MatLab/Octave меня есть утверждение x(isnan(x)) = 0. Я ILNumerics это на ILNumerics в C#. У меня возникли проблемы с поиском ILNumerics эквивалентным упомянутому заявлению MatLab/Octave.

В нашем случае x является массивом 2x2.

Что мы пробовали

  1. noNaNDataValues = dataValues[ILMath.isnan(dataValues)] = 0.0; где dataValues - это ILArray<double>
  2. Мы применили стандартные C# для циклов, и это работает отлично. Но мы предпочли бы использовать ILNumerics учитывая, сколько мы уже инвестировали в него.
  • 0
    Что не так с x[isnan(x)] = 0 ?
Теги:
nan
octave
ilnumerics

1 ответ

2
Лучший ответ

Просто используйте

x[isnan(x)] = 0;

Это напрямую эквивалентно синтаксису Matlabs. Ваша первая попытка предполагает, что вы хотите отделить значения, отличные от NaN, от NaN? Если да, пожалуйста, уточните.

  • 0
    Это была глупая ошибка с нашей стороны. Удаление noNaNDataValues = ... из первой noNaNDataValues = ... исправить это. Первоначальной ошибкой было исключение при попытке доступа к удаленному объекту. {"Cannot access a disposed object.\r\nObject name: 'The storage is disposed already. Make sure to follow the ILNumerics documentation at http://ilnumerics.net/GeneralRules.html'."}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню