二维数组的问题

Jam*_*mes 5 c# arrays

我正在尝试将一些数据填充到两个数组中,一个包含标准化角度,另一个包含sin这些角度.阵列必须是2D,因为它们将被传递到训练神经网络的函数中.我试着声明一个[1][360]数组并且遇到错误,所以我也尝试过[1][],这就是intellisense告诉我的,但后来又遇到了另一个问题.

这是我的代码:

double[][] sin_in = new double[1][];
double[][] sin_out = new double[1][];
double deg = 0.0;
const double dtor = 3.141592654 / 180.0;

for (int i = 0; i < 360; i++)
{
    sin_out[0][i] =  Math.Sin(deg * dtor); // complains I need to use new
    sin_in[0][i] = deg / 360.0; //When I use new I get another error
    deg += 1.0;
}
IMLDataSet trainingSet 
    = new BasicMLDataSet(sin_in, sin_out); //Inputs must be [][]
Run Code Online (Sandbox Code Playgroud)

那么我犯了什么错误/误解?

Alb*_*nbo 6

你初始化一个二维数组,如下所示:

double[,] sin_in = new double[1, 360];
double[,] sin_out = new double[1, 360];
double deg = 0.0;
const double dtor = 3.141592654 / 180.0;

for (int i = 0; i < 360; i++)
{
    sin_out[0,i] =  Math.Sin(deg * dtor); // complains I need to use new
    sin_in[0,i] = deg / 360.0; //When I use new I get another error
    deg += 1.0;
}
Run Code Online (Sandbox Code Playgroud)

哦,顺便说一下,PI的值是用c#内置的,其中包含多个小数,适合双倍使用

const double dtor = Math.PI / 180.0;
Run Code Online (Sandbox Code Playgroud)