问题标签 [mathnet-numerics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - F#:对于 MathNet Numerics,未定义值或构造函数矩阵
我正在尝试学习 F#,并按照以下说明创建矩阵:http: //numerics.mathdotnet.com/
然后我得到这个错误:未定义值或构造函数矩阵
c# - 使 Math.NET 傅里叶工作
我试图找到一个解决方案已经有几个星期了,我真的已经阅读了与这个主题相关的所有线程,所以我真的希望有人能帮助我解决这个问题。
我想要做的是使用波形文件作为输入,对其进行傅立叶变换并将这些值与另一个文件进行比较并获得差异。
我一直在努力的挑战是让傅里叶变换发挥作用。
我没有给我合理的结果,而是只得到 NaN 值。
我有以下代码:
4096 通常被一个更大的数字代替,它仍然是 2 的幂,但它甚至不能与那个数字一起使用。
更详细的描述:我设置了 4096 个值的长度,因为这是两倍,这个长度仅用于测试目的,因此这比使用数百万个值的原始声音文件检查要快一点; ) 所以这只是这样,只要算法没有被证明有效。这也是奇怪的for循环的原因。即使是艰难的 Math.Net 也使用 Bluestein 的算法进行计算,无论如何都要尝试使用两个数组的因子,因为即使他们使用任何其他算法 atm,它们也应该可以工作。
由于浮点十进制转换,尝试使用该 try-catch 获取错误消息,但它没有引发任何错误。
我现在的问题是,我在那个 fft 中发送了 4096 个复数,它们都有 Y = 0,但是 X 取决于音频文件(在另一个线程中读取音频 fft 不需要 Y 值,所以你应将它们设置为 0)。所有 X 值都是正常的浮点数,没有 NaN。但是,FFT 仍然返回一个充满 NaN 的数组。
我首先尝试转换为 System.Numerics.Complex 隐式,但没有成功,所以我使用 tmp 变量来构造。
编辑:我最终阅读了更多关于 FFT 算法的文章。现在我仍然让我的声音值浮动并将它们转换为复杂数组。我检查了所有转换步骤的一致性,这在那个区域很好。所以我的问题是我是否真的只需要使用它
或者如果我需要在此之前在 Math.NET 中进行干净的 FFT
f# - MathNet Numerics 需要 FsUnit.CustomMatchers 才能成功构建。用完了选项
在尝试MathNet Numerics
从GitHub构建最新版本时Visual Studio Community 15
,MathNet.Numerics.sln
需要安装用于单元测试的 DLL。
因此,在 Visual Studio 中使用 NuGet 可以成功安装以下内容。
剩下的唯一DLL是
我无法找到。
提示是..\..\packages\test\FsUnit\lib\FsUnit.CustomMatchers.dll
,但下没有test
目录packages
。
我该如何正确解决这个问题?
我需要 DLL,如果需要,它在哪里?
我需要手动修复代码吗?
我需要更新提示吗?
TLDR;
如果我在没有丢失 DLL 的情况下构建,则基本错误是:
可以通过安装解决
并添加
签名为
但这不正确,因为它没有安装正确的 DLL ( Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
vs FsUnit.CustomMatchers
),并且根据过去的 F# 单元测试经验,我知道这样做可能会导致误报的字幕。
编辑:
成功安装后,我想知道这是在哪里记录的。
请参阅:构建 Math.NET 数值
unit tests
包括文档和 api 参考、NuGet 和 Zip 包在内的全自动构建使用 FAKE。
c# - 如何在 MathNet.Symbolics Evaluate 函数中设置双精度?
我有一个Dictionary<string, double> values
价值观,精确度对我来说很重要。我有一个中缀可以解析的字符串公式。我想知道如何做这样的事情:
获得双精度结果?
matrix - F# 函数采用太多参数或在不期望的上下文中使用
我正在尝试实现成本函数,我目前有
出于某种原因,在第一个 * 说“此函数需要太多参数,或者在不期望函数的上下文中使用”之后,我得到了一个错误。
但是,当我这样做时
它工作得很好,它说val J:float
这就是我所期望的。但是只要添加第二部分,这是(1.0/(2.0*m))
我得到错误的部分。我对所有内容都有括号,所以我看不出它是如何应用一些部分功能或类似的东西。我确定这很愚蠢,但我似乎无法弄清楚。
c# - 在 MathNet.Numerics 命名空间中查询向量的长度
有没有办法在 MathNet.Numerics 命名空间中找到向量数据结构的向量(甚至矩阵)的维度。类似的东西
c# - Math.Net 数值库转置不起作用
所以我想转置一个我定义的矩阵
所以我得到的结果是一个非常奇怪的矩阵,它不是转置。我认为这是因为矩阵被定义为 DenseColumnMajor,但是我该如何更改呢?
所以我有一个 3 x 2 矩阵,例如:
我想要的结果是:
c# - 二维数组 - 需要一个嵌套数组初始值设定项。C#
我使用 MathNet.Numerics 包进行矩阵计算。
对于矩阵声明和初始化,预期的代码如下:
在我自己的代码中,我有三个一维数组——xPointsSquared、yPoints、一个。
尝试以以下方式初始化矩阵时出现错误-“需要嵌套数组初始化程序”,
c# - MathNet-矩阵将错误系数返回到多项式最佳拟合-C#
我使用 MathNet 矩阵计算来计算二次多项式的系数。
然而,由此产生的系数并不能给出准确的曲线。它创建了一条沿着数据点的散点图无处延伸的线。
我怀疑这是因为函数使用双精度而不是十进制。谁能帮我解决这个问题?