问题标签 [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.

0 投票
2 回答
3217 浏览

c# - MathNet Numerics 中的 Matrix、SparseMatrix 和 DenseMatrix 之间的区别?

我知道有些矩阵有很多数据,而其他矩阵主要有 0 或为空。但是,与创建 DenseMatrix 对象来保存稀疏矩阵相比,创建 SparseMatrix 对象来保存稀疏矩阵的优势是什么?就方法而言,它们似乎都提供或多或少相同的操作。

我还想知道你什么时候会使用 Matrix 对象来保存数据——因为是否有任何优势或情况比使用其他两个对象更受欢迎。

0 投票
2 回答
4461 浏览

c# - 如何使用 MathNet Numerics 将特征值作为按数量级列出的向量?

我使用 MathNet Numerics 的 Evd<> 类来获取矩阵的特征向量,但结果证明它是类型的Vector<Complex>,我无法将其转换为Vector<double>,这是我的操作所需要的。

这就是我得到特征向量的方式:

当我尝试强制转换为 ' Vector<double>' 时,程序不会接受它。有没有办法得到矩阵的特征向量Vector<double>

0 投票
1 回答
750 浏览

c# - 将特征向量作为“向量”' 使用 MathNet Numerics 从最重要到最不重要列出?

我使用 MathNet Numerics 的 Evd<> 类来获取矩阵的特征向量,但结果证明它是类型的Vector<Complex>,我无法将其转换为Vector<double>,这是我的操作所需要的。

这就是我得到特征向量的方式:

当我尝试强制转换为 ' Vector<double>' 时,程序不会接受它。有没有办法得到矩阵的特征向量Vector<double>

注意:我之前问过这个问题,但忽略了格式化我的代码,所以<double>没有出现,所以答案不是我想要的。

0 投票
1 回答
368 浏览

c# - Difference between methods Matrix Divide(double scalar) and Matrix DivideByThis(double scalar) in MathNet Numerics?

I'm looking at the documentation for DenseMatrix in MathNet Numerics which can be found here. I found two method definitions Matrix<T> Divide(double scalar) and Matrix<T> DivideByThis(double scalar) which both seem to return a Matrix and accept a double scalar.

Is there any difference between the two?

0 投票
1 回答
1783 浏览

c# - 不断从 MathNet Numerics 库中获取运行时错误。似乎无法让它工作

我一直在尝试让 MathNet.Numerics 库工作。每次尝试初始化矩阵时,我都会收到这个奇怪的运行时错误。我已经在互联网上搜索过类似问题的帖子,但没有任何运气。这让我相信我可能错过了一些可能很明显的事情。我将描述我如何包含库以及产生错误的代码,尽管我不认为代码是问题所在,因为它取自 math.net 示例站点如何使用矩阵。

所以!我尝试了两种导入库的方法。第一个是打开NuGet包管理器控制台并编写Install-Package MathNet.Numerics就是这样!第二种方法是打开 Manage NuGet Packages。然后搜索 mathnet.numerics 然后安装它。对我来说,这与以前的方法完全相同,对吧?

无论如何,现在该库似乎已导入,这是因为我可以构建以下代码而不会出现任何错误。

然后我构建它,这可能就是问题所在。我有我的怀疑!我只是构建它,即右键单击解决方案并构建!没有错误!

然后当我运行程序时,当 DeseMatrix.OfArray.... 被执行时,我得到以下异常。

MathNet.Numerics.dll 中发生了“System.TypeInitializationException”类型的未处理异常附加信息:“MathNet.Numerics.LinearAlgebra.Storage.MatrixStorage`1”的类型初始化程序引发了异常。

所以总结一下这个相当长的问题:我错过了什么?

PS。该项目必须使用 .Net 3.5 运行。别担心,我也尝试在 .net 4.5 中做同样的事情。我也在多台计算机上尝试过这个解决方案,包括 win 7 和 8。

0 投票
1 回答
315 浏览

c# - 如何在 MathNet Numerics 中格式化 DelimitedReader 以将空字符串读取为零?

我正在从一个包含很多空单元格的 CSV 文件中读取数据,并且我想在空单元格中读取为零。有没有办法使用 DelimitedReader 做到这一点?

我正在查看 DelimitedReader 的文档,发现它需要四个参数:

•sparse:返回的矩阵应该构造为稀疏(true)还是密集(false)。默认值:假。•delimiter:同一行数字之间的数字分隔符。支持正则表达式组。默认值:\s(空格)。•hasHeaders:第一行是否包含列标题。如果为真,第一行将被跳过。默认值:假。•formatProvider:要使用的文化。使用 InvariantCulture 使格式独立于当地文化通常是一个好主意。默认值:空

我想我可能需要使用 formatProvider 参数来执行此操作,但我不确定如何使用它。

0 投票
3 回答
5550 浏览

.net - Math.NET 可以解决任何矩阵吗?

我正在尝试使用 Math.NET 来解决以下系统:

系数矩阵 A:

结果向量 b:

我从有限元分析示例问题中提取了这些数字,因此基于该示例我期望的答案是:

但是,我发现 Math.NET 和在线矩阵计算器大多给我零(来自迭代求解器)、NaN 或大的不正确数字(来自直接求解器)作为解决方案。

在 Math.NET 中,我尝试将我的矩阵插入到提供的示例中,包括:

迭代示例:

直接例子:

示例问题中的数字很可能是错误的,但我需要确保在继续之前正确使用 Math.NET。我是否按照它们的预期使用方式使用这些求解器示例?还有什么我可以尝试这些示例未涵盖的内容吗?

有限元分析示例问题(第 8 页,示例 1):

他们似乎在某处弄乱了单位,所以为了让我的矩阵匹配那里,我们必须使用以下输入:

另请注意,他们已经消除了一些在计算过程中应该自然消失的行和列。这些行和列仍然存在于我正在使用的矩阵中

0 投票
1 回答
1094 浏览

c# - 使用哪个公式/函数来旋转一系列点

我可以使用什么数学公式来围绕给定的 3d 矢量旋转一系列 3d 矢量?

我正在尝试使用 3rd 方库:Math.NET Iridium来计算我的旋转,但我不知道我应该使用什么公式或数学概念。如您所见,数学不是我的强项,因此需要图书馆。

PS:我尝试使用标准System.Windows.Shapes.PolylineSystem.Windows.Media.RotateTransform但看起来旋转仅在渲染时应用(如果我错了,请纠正我)。我需要在应用后立即知道旋转点的位置RotateTransform

0 投票
1 回答
868 浏览

vector - 在 Math.NET 中获取向量的维度

如果在 Math.NET 中给了我一个向量,我如何检查它的维数?我似乎在文档中找不到任何东西

0 投票
1 回答
697 浏览

c# - 哪种方法旋转 3d 矢量

我使用哪个Math.Net函数来围绕另一个 3d 矢量(枢轴点)旋转 3d 矢量?

我正在使用 C# Library Math.Net,主要是因为我不怕说我在复杂的数学概念上苦苦挣扎。有人建议我使用仿射变换,但似乎没有执行此概念/公式的类或方法。向量类也没有Rotate方法,所以这不是解决方案。

你能建议我用什么函数、方法或类来实现这个吗?