C# Math.Net Numerics-如何运行示例
第一次试用Math.Net,并从C++\Cli迁移到C#使用Math.Net,所以今天一切都是新的 我如何设置和运行这样的示例。我应该创建一个类并将此代码复制到其中吗?我注意到接口丢失(错误:找不到名称空间IExample),但我也注意到这里可能提供了这个接口。我把这个放在哪里 这就是我的Program.cs(省略了基本细节):C# Math.Net Numerics-如何运行示例,c#,.net,math.net,C#,.net,Math.net,第一次试用Math.Net,并从C++\Cli迁移到C#使用Math.Net,所以今天一切都是新的 我如何设置和运行这样的示例。我应该创建一个类并将此代码复制到其中吗?我注意到接口丢失(错误:找不到名称空间IExample),但我也注意到这里可能提供了这个接口。我把这个放在哪里 这就是我的Program.cs(省略了基本细节): 这就是工作原理:创建一个C#控制台应用程序(VS2012),然后将Math.Net示例的主体粘贴到控制台应用程序的主体中。添加includes和名称空间。然后运行上面引
这就是工作原理:创建一个C#控制台应用程序(VS2012),然后将Math.Net示例的主体粘贴到控制台应用程序的主体中。添加includes和名称空间。然后运行上面引用的示例 代码片段(遗漏项目2-5):
使用系统;
使用MathNet.Numerics;
使用MathNet.Numerics.LinearAlgebra.Double;
利用制度全球化;
名称空间示例。LinearAlgebraExamples
{
班级计划
{
静态void Main(字符串[]参数)
{
//将矩阵输出格式化到控制台
var formatProvider=(CultureInfo)CultureInfo.InvariantCulture.Clone();
formatProvider.TextInfo.ListSeparator=“”;
//创建随机平方矩阵
var矩阵=新的密度矩阵(5);
var rnd=新的随机变量(1);
对于(var i=0;i
按照建议重新表述问题,使其更具体。这些示例正在逐步淘汰。希望这些简短的示例可以帮助您入门?如果您仍想运行这些示例,我建议您将run函数的主体复制到一个干净的CLI项目的主函数中(并添加对MathNet.Numerics NuGet包的引用),然后忽略所有IExample内容。谢谢Christoph。对我来说,这些例子很有帮助,更重要的是我从C开始。我在您发送的链接Start.cs中尝试了C#示例,但是我得到的错误矩阵(和向量)在当前上下文中不存在。关于您的第二个注意事项,您是说我也可以从Cli调用这些Math.net库吗?没有看到任何这样的例子。
namespace Examples.LinearAlgebraExamples
{
/// Defines the base interface for examples.
public interface IExample
{
string Name
{
get;
}
string Description
{
get;
}
void Run();
}
/// Matrix transpose and inverse
public class MatrixTransposeAndInverse : IExample
{
// rest of the example code
}
class Program
{
static void Main(string[] args)
{
// how to call the above routines?
}
}
}
using System;
using MathNet.Numerics;
using MathNet.Numerics.LinearAlgebra.Double;
using System.Globalization;
namespace Examples.LinearAlgebraExamples
{
class Program
{
static void Main(string[] args)
{
// Format matrix output to console
var formatProvider = (CultureInfo)CultureInfo.InvariantCulture.Clone();
formatProvider.TextInfo.ListSeparator = " ";
// Create random square matrix
var matrix = new DenseMatrix(5);
var rnd = new Random(1);
for (var i = 0; i < matrix.RowCount; i++)
{
for (var j = 0; j < matrix.ColumnCount; j++)
{
matrix[i, j] = rnd.NextDouble();
}
}
Console.WriteLine(@"Initial matrix");
Console.WriteLine(matrix.ToString("#0.00\t", formatProvider));
Console.WriteLine();
// 1. Get matrix inverse
var inverse = matrix.Inverse();
Console.WriteLine(@"1. Matrix inverse");
Console.WriteLine(inverse.ToString("#0.00\t", formatProvider));
Console.WriteLine();
// removed examples here
Console.WriteLine();
Console.ReadLine();
}
}
}