使用 MatLab C API 和 Go 的Cgo 包,我试图在我的 Go 程序的 mat 文件中读取 24x3000000 矩阵。我能够成功读取矩阵的维度,但如何访问每个单元格内的值?(最终目标是将此矩阵作为切片返回给我的 Go 程序。)
var realDataPtr *C.double
var field *C.mxArray
fieldName := C.CString("data")
field = C.mxGetField(pa, 0, fieldName)
rowTotal := C.mxGetM(field) // outputs 24
colTotal := C.mxGetN(field) // outputs 3000000
// get pointer to data in matrix
realDataPtr = C.mxGetPr(field)
// Print every element in the matrix
for row := 0; row < int(rowTotal); row++ {
for col := 0; col < int(colTotal); col++ {
// This is where I get stuck
}
}
作为参考,这里是C 的矩阵库 API