C# Math.Net Numerics-如何运行示例

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和名称空间。然后运行上面引

第一次试用Math.Net,并从C++\Cli迁移到C#使用Math.Net,所以今天一切都是新的

我如何设置和运行这样的示例。我应该创建一个类并将此代码复制到其中吗?我注意到接口丢失(错误:找不到名称空间IExample),但我也注意到这里可能提供了这个接口。我把这个放在哪里

这就是我的Program.cs(省略了基本细节):


这就是工作原理:创建一个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();
        }
    }
}