问题标签 [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.
c# - MathNet Numerics 中的 Matrix、SparseMatrix 和 DenseMatrix 之间的区别?
我知道有些矩阵有很多数据,而其他矩阵主要有 0 或为空。但是,与创建 DenseMatrix 对象来保存稀疏矩阵相比,创建 SparseMatrix 对象来保存稀疏矩阵的优势是什么?就方法而言,它们似乎都提供或多或少相同的操作。
我还想知道你什么时候会使用 Matrix 对象来保存数据——因为是否有任何优势或情况比使用其他两个对象更受欢迎。
c# - 如何使用 MathNet Numerics 将特征值作为按数量级列出的向量?
我使用 MathNet Numerics 的 Evd<> 类来获取矩阵的特征向量,但结果证明它是类型的Vector<Complex>
,我无法将其转换为Vector<double>
,这是我的操作所需要的。
这就是我得到特征向量的方式:
当我尝试强制转换为 ' Vector<double>
' 时,程序不会接受它。有没有办法得到矩阵的特征向量Vector<double>
?
c# - 将特征向量作为“向量”' 使用 MathNet Numerics 从最重要到最不重要列出?
我使用 MathNet Numerics 的 Evd<> 类来获取矩阵的特征向量,但结果证明它是类型的Vector<Complex>
,我无法将其转换为Vector<double>
,这是我的操作所需要的。
这就是我得到特征向量的方式:
当我尝试强制转换为 ' Vector<double>
' 时,程序不会接受它。有没有办法得到矩阵的特征向量Vector<double>
?
注意:我之前问过这个问题,但忽略了格式化我的代码,所以<double>
没有出现,所以答案不是我想要的。
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?
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。
c# - 如何在 MathNet Numerics 中格式化 DelimitedReader 以将空字符串读取为零?
我正在从一个包含很多空单元格的 CSV 文件中读取数据,并且我想在空单元格中读取为零。有没有办法使用 DelimitedReader 做到这一点?
我正在查看 DelimitedReader 的文档,发现它需要四个参数:
•sparse:返回的矩阵应该构造为稀疏(true)还是密集(false)。默认值:假。•delimiter:同一行数字之间的数字分隔符。支持正则表达式组。默认值:\s(空格)。•hasHeaders:第一行是否包含列标题。如果为真,第一行将被跳过。默认值:假。•formatProvider:要使用的文化。使用 InvariantCulture 使格式独立于当地文化通常是一个好主意。默认值:空
我想我可能需要使用 formatProvider 参数来执行此操作,但我不确定如何使用它。
.net - Math.NET 可以解决任何矩阵吗?
我正在尝试使用 Math.NET 来解决以下系统:
系数矩阵 A:
结果向量 b:
我从有限元分析示例问题中提取了这些数字,因此基于该示例我期望的答案是:
但是,我发现 Math.NET 和在线矩阵计算器大多给我零(来自迭代求解器)、NaN 或大的不正确数字(来自直接求解器)作为解决方案。
在 Math.NET 中,我尝试将我的矩阵插入到提供的示例中,包括:
迭代示例:
直接例子:
示例问题中的数字很可能是错误的,但我需要确保在继续之前正确使用 Math.NET。我是否按照它们的预期使用方式使用这些求解器示例?还有什么我可以尝试这些示例未涵盖的内容吗?
他们似乎在某处弄乱了单位,所以为了让我的矩阵匹配那里,我们必须使用以下输入:
另请注意,他们已经消除了一些在计算过程中应该自然消失的行和列。这些行和列仍然存在于我正在使用的矩阵中
c# - 使用哪个公式/函数来旋转一系列点
我可以使用什么数学公式来围绕给定的 3d 矢量旋转一系列 3d 矢量?
我正在尝试使用 3rd 方库:Math.NET Iridium来计算我的旋转,但我不知道我应该使用什么公式或数学概念。如您所见,数学不是我的强项,因此需要图书馆。
PS:我尝试使用标准System.Windows.Shapes.Polyline
,System.Windows.Media.RotateTransform
但看起来旋转仅在渲染时应用(如果我错了,请纠正我)。我需要在应用后立即知道旋转点的位置RotateTransform
。
vector - 在 Math.NET 中获取向量的维度
如果在 Math.NET 中给了我一个向量,我如何检查它的维数?我似乎在文档中找不到任何东西