使用Math.Net进行首次试用并从C ++ \ Cli转移到C#以使用Math.Net,所以今天一切都是新的。
如何设置和运行此Matrix Transpose之类的示例。我应该创建一个类并将此代码复制到其中吗?我注意到接口丢失(错误:找不到命名空间IExample),但我也注意到这里可能会提供Interface。我把它放在哪里?
这就是我的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?
}
}
}
答案 0 :(得分:1)
这是有用的:创建一个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();
}
}
}