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;
其中dataValues
是ILArray<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 语句的主要内容,如果未能解决你的问题,请参考以下文章