我想打印終端的phrs值並檢查它們的數據類型。我以爲我得到了第一部分:C Matlab Mex網關文件,打印phrs
mexPrintf("Value: %d\n",prhs[0]);
但這是給我垃圾。我錯過了什麼? (可能有些顯而易見)有沒有辦法檢查數據類型並將其打印出來?
我想打印終端的phrs值並檢查它們的數據類型。我以爲我得到了第一部分:C Matlab Mex網關文件,打印phrs
mexPrintf("Value: %d\n",prhs[0]);
但這是給我垃圾。我錯過了什麼? (可能有些顯而易見)有沒有辦法檢查數據類型並將其打印出來?
要檢查prhs日期類型,我認爲您可以使用mxGetClassName(prhs[0])
。爲了打印它的價值,你需要重新引用它,因爲我沒有記錯。例如:
double* data = mxGetPr(prhs[0]);
mexPrintf("Value: %f\n",data[0]);
注意,mxGetPr返回指向double的指針,所以在本例中保留它。
prhs
是一個指向mxArray
的指針數組,對應於您的輸入。 根據您輸入的類型,你可以使用:
double input = mxGetScalar(prhs[0]); printf("Value: %f\n",input);
double* input = mxGetPr(prhs[0]); printf("Value: %f\n",input[0]);
來獲得一個指向你的數組值的指針,但是這裏我們只打印第一個值。您可以使用mxGetDimensions()
來獲取數組的維數。