2017-07-28 65 views
0

我只是测试,看看我是否可以利用math.Net数字为即将到来的线性代数类,我有麻烦。我通常使用R和Python,但我觉得要测试一下。我从字面上看是全新的Visual Studio。出于某种原因,当我尝试仅测试如何脚本例如下面这个网站的第一个例子时,我得到了26错误。我在NuGet Package Manager中添加了math.Net Numerics 3.20.0。我也附加了我的UI的样子。任何人都知道我需要如何启动脚本。我需要用类和方法打开吗? enter image description here如何在视觉工作室中使用math.Net数字

https://numerics.mathdotnet.com/#Using-Math-NET-Numerics-with-C

下面是代码:

using MathNet.Numerics.LinearAlgebra; 
using MathNet.Numerics.LinearAlgebra.Double; 

Matrix<double> A = DenseMatrix.OfArray(new double[,] { 
     {1,1,1,1}, 
     {1,2,3,4}, 
     {4,3,2,1}}); 
Vector<double>[] nullspace = A.Kernel(); 

// verify: the following should be approximately (0,0,0) 
(A* (2* nullspace[0] - 3* nullspace[1])) 

这里有错误,当我复制和粘贴代码到VS.新项目

错误CS8124元组必须包含至少两个元素。 错误CS1026)预计 错误CS1031类型预计
错误CS8124元组必须包含至少两个元素。
错误CS1026)预期
错误CS1022型或命名空间定义,或 - 的文件结束预定
错误CS1031型预期
错误CS0650为数组声明:要声明一个管理的阵列的秩指示符之前的变量的标识符。要声明固定大小的缓冲区字段,请在字段类型之前使用fixed关键字。 错误CS0270无法在变量声明中指定数组大小(尝试用'新'表达式初始化) 错误CS1002;预计 错误CS1022类型或名称空间定义或文件结束预期
错误CS1031类型预计
错误CS0650错误数组声明符:要声明托管数组,排名说明符位于变量的标识符之前。要声明固定大小的缓冲区字段,请在字段类型之前使用fixed关键字。
错误CS0270无法在变量声明中指定数组大小(尝试使用'新'表达式进行初始化) 错误CS1002;预期
错误CS1022型或命名空间定义,或预期
错误CS0116命名空间不能直接包含成员如字段或方法文件结束-
错误CS0116命名空间不能直接包含成员如字段或方法 错误CS0214指针和固定大小的缓冲区只能在不安全的环境中使用
错误CS0208无法获取托管类型('?')的地址,获取大小或声明指针
错误CS0102类型''已经包含定义 错误CS0214指针和固定大小的缓冲区只能用于不安全的地址 错误CS0208无法取地址,获取大小或者声明指向托管类型的指针('?') 错误CS0102类型''已包含定义
错误CS0103当前上下文中不存在名称'A'
错误CS0103名称'A'在当前上下文中不存在。

回答

1

NVM计算出来。

using System; 
using MathNet.Numerics.LinearAlgebra; 
using MathNet.Numerics.LinearAlgebra.Double; 


namespace check1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Matrix<double> A = DenseMatrix.OfArray(new double[,] { 
     {1,1,1,1}, 
     {1,2,3,4}, 
     {4,3,2,1}}); 
      Vector<double>[] nullspace = A.Kernel(); 

      // verify: the following should be approximately (0,0,0) 
      Console.Write(A * (2 * nullspace[0] - 3 * nullspace[1])); 
      Console.Read(); 
     } 
    } 
}