Matlab 之 資料元素訪問

2022-08-23 11:00:12 字數 507 閱讀 4132

matlab的含義是矩陣實驗室,其特徵之一就是資料的向量化操作,藉此提公升軟體執行效率。那麼,必然會涉及資料元素的訪問。matlab主要支援下面一些形式的訪問:

(1)array-inde: a(i)

(2)cell-index: c

(3)struct field: s.fieldname

不同的訪問方式,效率差別很大,我們以單個元素或者域的訪問為例,**不同的資料結構的訪問時間。

一百萬次訪問的平均時間對比:

(1)array-index: 0.002675s

(2)cell-index: 0.1311

(3)struct field: 0.002250s

從中我們可以發現,array-index與struct field訪問的方式速度差不多,可以達到約每秒4億次,但cell-index的訪問方式則明顯變慢,速度為約每秒760萬次,大約慢了50倍。

因此,如若可能,在實驗中,我們還是應該盡量採用向量化,或者結構體來定義資料結構,從而加快執行速度。

Matlab訪問struct中資料

這幾天在用matlab,做深度學習,一直想訪問struct中的資料,但是每次都是只能訪問到乙個,有些苦悶。在網上搜了一圈,也沒有發現,後來在官網上發現了乙個方法,看來,matlab的文件還是很可靠的。特此在這裡mark一下。建立乙個 1 3 的結構體 s,其中包含字段 f s 1 f 1 s 2 f...

python之enumerate訪問元素下標

enumerate iterable,start 0 可以同時返回列表或元組等可迭代物件的下標和內容,但實際上,enumerate 函式實際返回的是乙個enumerate型別的可迭代物件。seasons spring summer fall winter 預設從0開始計數 for index,s i...

Matlab 元素平移

1。向量 x end 1 end 1 向右或向下平移乙個元素的位置 x end k 1 end 1 end k 向右或下平移k個元素,k為非負 x 2 end 1 向左或上平移乙個元素 x k 1 end 1 k 向左或上移動k個元素,k為非負 x mod 1 end k 1,end 1 向右或下平...