多维数组和交错数组

时间:2016-01-14 05:05:47

标签: c# arrays

r[k] = new double[3, 3] { { 1 ,0 ,-T * MPCV[k] * (Math.Sin(A[k])) },
                                  { 1 ,0 , T * MPCV[k] * (Math.Cos(A[k])) },
                                  { 0 ,0 ,1}
                                };

我将改述我的问题。我是否正确地声明我是否在5个元素的数组中设置3x3矩阵,因为我的k将从5运行到1。

1 个答案:

答案 0 :(得分:1)

  

“如果我要在5个元素的数组中设置一个3x3矩阵作为我的k   将从5到1“

运行

如果您的数组包含5个元素,则无法从5到1运行k。C#中的索引从0开始不同于例如,MATLAB从1开始。您只能从4到0运行k

因此,请注意A MPCVr。因为当k5时,所有这些都可能会出错。

如果r不是固定大小或不是作为数组计算(而只是作为矩阵列表),我还建议您使用r变量代替List数组。简单地声明就像这样

List<double[,]> r = new List<double[,]>() {
    new double[3, 3], new double[3, 3], new double[3, 3], new double[3, 3], new double[3, 3]
};

然后就像你做的那样使用它:

r[k] = new double[3, 3] { 
  { 1, 0, -T * MPCV[k] * (Math.Sin(A[k])) },
  { 1, 0,  T * MPCV[k] * (Math.Cos(A[k])) },
  { 0, 0, 1}
};

只要您的k介于0到4(含)之间,就应该找到它。