MATLAB 是否具有可以在不復制所有資料的情況下添加和洗掉元素的資料結構?
AFAIK 它缺少一個串列(就像在 Python 中一樣),所以我正在嘗試實作它,但不確定要在什么基礎上構建它。我想到了單元格陣列,但 linter 表明它實際上是一個陣列。人們可以在每個元素都是一個單獨的類的情況下實作它,使用handle
類作為容器作為指標,但我猜這在 MATLAB 中效率不高。
struct
? 每次超過其長度時擴展一個單元陣列?比不復制串列更重要的是不復制其內容,即陣列。
編輯: 我在這里實作了 Pythoniclist
和dict
基于cellarray
and 。containers.Map
uj5u.com熱心網友回復:
Mathworks 本身有一個示例鏈表實作,其中每個元素似乎都是一個類的實體。在許多操作中,它的效率肯定低于統一陣列,但對于許多其他操作來說可能是理想的。
或者,您可以在此處討論的 Java LinkedLists 上進行中繼。性能是否提升取決于實際使用場景。
我想最有效的方法是使用 MEX 函式來呼叫 C 例程,除了硬體特定的優化。對于大多數從 MATLAB 開始的應用程式來說,這可能是牽強附會的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505856.html
標籤:matlab
上一篇:如何回圈通過索引符號Matlab