[英]Math.Net Numerics - how to run examples
Math.Net的首次试用,并从C ++ \\ Cli迁移到C#以使用Math.Net,因此今天一切都是新的。
我如何设置和运行诸如Matrix Transpose之类的示例。 我应该创建一个类并将此代码复制到其中吗? 我注意到缺少接口(错误:找不到命名空间IExample),但我也注意到可以在此处提供接口 。 我该放在哪里?
这是我所拥有的Program.cs(省略了基本详细信息):
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?
}
}
}
这是可行的:创建一个C#控制台应用程序(VS2012),然后将Math.Net示例的主体粘贴到该控制台应用程序的主体中。 添加包含和名称空间。 上面引用的示例然后运行。
代码段(省略项目2-5):
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();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.