📄
字号:
T= mxCreateDoubleMatrix(1, 10, mxREAL);
memcpy((unsigned char*)mxGetPr(T),time, 10*sizeof(double));
/*
* Place the variable T into the MATLAB workspace
*/
engPutVariable(ep, "T", T);
plhs[0] = mxCreateNumericArray(NDIMS,dims,mxUINT16_CLASS,mxREAL);
/* populate the real part of the created array */
start_of_pr = (unsigned char *)mxGetData(plhs[0]);
bytes_to_copy = TOTAL_ELEMENTS * mxGetElementSize(plhs[0]);
memcpy(start_of_pr,data,bytes_to_copy);
步骤:(1)由于matlab矩阵元素格式与bcb的数组元素格式不同,所以要先mxCreateDoubleMatrix函数创建一个matlab能运算的矩阵符号变量,用于存放bcb中的矩阵元素,注意此时仅仅才创建一个符号变量。
(2)用memcpy分配内存空间,将bcb中的数组元素传递给刚刚创建的matlab元素,拷贝到内存区域。
(3)用engPutVariable将内存变量导入matlab工作区。
(4)用engEvalString向matlab工作区域导入命令。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -