首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Math.Net数字-如何运行示例

Math.Net数字-如何运行示例
EN

Stack Overflow用户
提问于 2014-06-02 13:48:28
回答 1查看 8.5K关注 0票数 3

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

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

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

代码语言:javascript
复制
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? 
        }
    }
} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 17:17:21

这就是工作原理:创建一个C#控制台应用程序(VS2012),然后将Math.Net示例的主体粘贴到控制台应用程序的主体中。添加包含和命名空间。然后运行上述引用的示例。

代码片段(省略项目2-5):

代码语言:javascript
复制
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();
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23996140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档