-3

我需要将一些 C++ 代码转换为 C++ 中的 matlab,有以下语句:

static double *L[2];
for (int y=0;y<2;y++)
   L[y] = new double[size];

在matlab中,我需要用一些像0这样的初始值来初始化L参数。你能解释一下C++代码是什么意思吗?

我需要相同的以下内容:

static double **a[2];
for (int x=0;x<2;x++)
{
   a[x] = new double*[size];
   for (int y=0;y<size;y++)
   {
     a[x][y] = new double[numstates];
   }
}

BR

4

2 回答 2

1

L 是一个由两个数组组成的数组,每个数组都是一个双精度数组size。这是一样的

L[0] = new double[size]; 
L[1] = new double[size];

您可以将 L 解释为2xsize矩阵。

同样,a是s 的2x sizexnumstates矩阵double

于 2013-07-07T21:20:21.833 回答
0

你能解释一下C++代码是什么意思吗?

第一个片段只是初始化一个(2 * size)双精度浮点数矩阵。

第二个片段做同样的事情,但它正在初始化一个(2 * size * numstates)矩阵。

于 2013-07-07T21:19:14.873 回答