我知道可以生成描述枚舉的classdef .m文件,但是這會導致生成一堆文件並且會非常混亂。 我在尋找的是一種在「內存」中執行此操作的方式,而不生成任何文件。我知道我可以使用mexCallMatlab或mexEval函數在Matlab中創建簡單變量,但classdef似乎不適用於這些函數。如何在mex函數中在Matlab中創建Enum類型
1
A
回答
2
我認爲containers.Map
可能是你最好的選擇,儘管它遠不如基本枚舉那麼優雅。從文檔的一個例子:
keySet = {'Jan', 'Feb', 'Mar', 'Apr'};
valueSet = [327.2, 368.2, 197.6, 178.4];
mapObj = containers.Map(keySet,valueSet)
你甚至可以傳遞對象到您的MEX代碼,而不是使用mexCallMatlab
或mexEval
- 見mxGetProperty
和mxIsClass
,例如,除others。我已成功爲RandStream
對象完成此操作。
+0
你是說不可能做到我想要的東西,這是下一個最好的東西? –
+0
首先,我承認你無法獲得創建枚舉的自定義類,以您需要的方式工作 - 我沒有嘗試過。其次,關於這種不太優雅的觀點與這樣一個事實有關,即這個解決方案需要使用一個更復雜的類(至少內建一個),而不是簡單的枚舉所需要的類。結果對象應該以您需要的方式工作。 – horchler
相關問題
- 1. 如何在SQLite中創建ENUM類型?
- 2. 如何在Matlab中剖析MEX函數
- 3. 在MySQL中創建ENUM變量類型
- 4. 在SQLite中創建ENUM和類型
- 5. 如何在Matlab調用的mex函數中使用Matlab引擎
- 6. 在matlab中創建函數
- 7. Error在Matlab 2013中使用Matlab codegen創建mex文件
- 8. 創建anonymos在MATLAB函數與一個數組類型參數
- 9. 在MEX/C代碼中訪問Matlab類
- 10. 如何在SQLAlchemy中創建ENUM?
- 11. 從MATLAB中訪問在MEX中創建的稀疏矩陣
- 12. 在Windows上使用GFortran在Matlab中創建Mex文件
- 13. 在MATLAB中創建自定義函數
- 14. MEX函數填補mxCreateDoubleMatrix MATLAB
- 15. 如何在TypeScript中使用返回類型創建函數?
- 16. 如何在matlab中創建3D數組?
- 17. 如何在基於特定函數的matlab中創建數組
- 18. 如何在matlab中創建一個函數數組?
- 19. 是否有可能在java中創建Enum類型的對象?
- 20. 如何在帶打字的類中創建enum屬性?
- 21. 如何爲Enum類型參數創建擴展方法?
- 22. 如何從Matlab C Mex函數中獲取兩個輸出?
- 23. 如何在MATLAB MEX文件中創建雙D的N-D矩陣?
- 24. 如何在matlab中使用KeyPressFCN並創建函數?
- 25. 如何在MATLAB中創建分段內聯函數?
- 26. 如何在Matlab中創建概率密度函數?
- 27. 如何在MATLAB中創建一個函數內的GUI?
- 28. 在matlab中編寫一個非常基本的mex函數
- 29. 在MATLAB MEX函數中鏈接Cassandra/C++驅動程序庫
- 30. 如何在oracle中創建類型
你看過[containers.Map](http://www.mathworks.com/help/matlab/ref/containers.mapclass.html)嗎?你究竟需要傳入和/或傳出mex代碼? – horchler
[Java Collections](http://undocumentedmatlab.com/blog/using-java-collections-in-matlab/)可能是另一種可能性。 – horchler
mex代碼需要根據外部模式自動生成Enum類型。 mex函數用於讀取文件中的數據,此時我們只是將枚舉值作爲字符串傳遞。 –