第一次试用Math.Net,从C++\Cli转到C#使用Math.Net,所以今天的一切都是新的。
如何设置和运行示例,如这个矩阵转置。我应该创建一个类并将这些代码复制到其中吗?我注意到接口缺失(错误:找不到名称空间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?
}
}
} 发布于 2014-06-02 17:17:21
这就是工作原理:创建一个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();
}
}
}https://stackoverflow.com/questions/23996140
复制相似问题