所以这是有问题的代码。我只需要一个数字并乘以2.我几乎将它两次附加到输出数组。在matlab中我做了= timestwo(2)我得到了4,但是当我做[a,b] = timestwo(2)时,我希望得到a = 4,b = 4,但是matlab只是崩溃了。我觉得我在这里缺少一些简单的东西,但有些见解会很棒。
C Create matrix for the return argument.
plhs(1) = mxCreateDoubleMatrix(1, 1, 0)
plhs(2)=mxCreateDoubleMatrix(1, 1, 0)
y_ptr = mxGetPr(plhs(1))
y_ptrr=mxGetPr(plhs(2))
C Call the computational subroutine.
call timestwo(y_output, x_input)
call timestwo(y_outputt,x_inputt)
C Load the data into y_ptr, which is the output to MATLAB.
call mxCopyReal8ToPtr(y_output,y_ptr,size)
call mxCopyReal8ToPtr(y_outputt,y_ptrr,size)