mxCreateDoubleMatrix
时间: 2024-11-09 15:24:10 浏览: 5
`mxCreateDoubleMatrix`是MATLAB的一个函数,在C/C++接口中用于创建一个双精度实数(double)矩阵。它的原型通常看起来像这样:
```c++
mexFunction(int nlhs, mxArray **plhs[], int nrhs, const mxArray **prhs[])
```
当你调用`mxCreateDoubleMatrix(rows, cols, mxREAL)`时,它会返回一个指向`mxArray`结构的指针,该结构代表一个新的二维双精度矩阵。参数含义如下:
- `rows`: 表示矩阵的行数。
- `cols`: 表示矩阵的列数。
- `mxREAL`: 这是一个标志,告诉MATLAB内部这是个真实值矩阵(不是复数或其他特殊类型)。
例如,如果你有一个短整型的向量,并想将其转换成MATLAB能识别的矩阵以便保存,你可能会这样做:
```c++
mexFunction(1, &resultMatrix, 1, &inputVector);
mxSetClass(resultMatrix, mxDOUBLE_CLASS);
mxSetDimensions(resultMatrix, rows, cols);
for (int i = 0; i < rows * cols; ++i) {
double realValue = static_cast<double>(inputVector[i]);
resultMatrix(i) = realValue;
}
```
这里,`resultMatrix(i)`表示第`i`个元素。
阅读全文