ILNumerics 等效于 MatLab/Octave 语句

Posted

技术标签:

【中文标题】ILNumerics 等效于 MatLab/Octave 语句【英文标题】:ILNumerics equivalent of MatLab/Octave statement 【发布时间】:2015-01-20 06:20:06 【问题描述】:

问题

MatLab/Octave,我有声明x(isnan(x)) = 0。我将把它移植到C# 中的ILNumerics。我无法找到与上述MatLab/Octave 语句等效的ILNumerics

在我们的例子中,x 是一个 2x2 数组。

我们尝试过的

    noNaNDataValues = dataValues[ILMath.isnan(dataValues)] = 0.0; 其中dataValuesILArray<double> 我们使用了标准的C# for 循环,效果很好。但考虑到我们已经投入了多少资金,我们更愿意使用 ILNumerics

【问题讨论】:

x[isnan(x)] = 0 有什么问题? 【参考方案1】:

随便用

x[isnan(x)] = 0;

这直接等同于 Matlabs 语法。您的第一次尝试表明您想将非 NaN 值与 NaN 分开?如果是这样,请澄清。

【讨论】:

我们犯了一个愚蠢的错误。从我们尝试修复它的第一件事中删除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'."

以上是关于ILNumerics 等效于 MatLab/Octave 语句的主要内容,如果未能解决你的问题,请参考以下文章

C# 等效于 Java 标点正则表达式

等效于 Riverpod 中的 ChangeNotifierProvider 小部件

NSTimer 等效于 Javascript

复合赋值运算符

linq 等效于通用函数的'select *' sql?

Windows 等效于 linux cksum 命令