Matlab訪問struct中資料

2021-09-06 21:20:39 字數 710 閱讀 8084

這幾天在用matlab,做深度學習,一直想訪問struct中的資料,但是每次都是只能訪問到乙個,有些苦悶。在網上搜了一圈,也沒有發現,後來在官網上發現了乙個方法,看來,matlab的文件還是很可靠的。特此在這裡mark一下。

建立乙個 1×3 的結構體 s,其中包含字段 f:

s(1).f = 1;

s(2).f = 'two';

s(3).f = 3 * ones(3);

此時,如果我想訪問s.f這三個值,一般是這樣做

t = s.f;  % 但是這樣只能獲得乙個值
您不能使用 v = s.f 語法將該列表分配給單個變數,因為各欄位包含的資料型別可能不同。但是,您可以將列表項分配給相同數量的變數,例如

[v1, v2, v3] = s.f;

% 或者分配給元胞陣列

c = ;

如果所有欄位均包含相同型別的資料並且可以構成超矩形,則可以串聯列表項。例如,建立乙個包含字段 f(具有數值標量)的結構體 nums,然後串聯欄位中的資料:

nums(1).f = 1;

nums(2).f = 2;

nums(3).f = 3;

allnums = [nums.f]

% 返回

allnums=

1 2 3

matlab 結構 struct 陣列

要在maltab中實現比較複雜的程式設計,就不能不用struct型別。而且在matlab中實現struct比c中更為方便。結構陣列的建立 matlab提供了兩種定義結構的方式 直接應用和使用struct函式。1.使用直接引用方式定義結構 與建立數值型陣列一樣,建立新struct物件不需要事先申明,可...

matlab中struct結構體如何排序

首先我的結構體資料是這個樣子的 第一步按照id,也就是字串對結構體資料進行排序 a importdata location b,index sort a.textdata 得到的index就是我們後面矩陣元素需要排序的順序 m a.data 從a中提取出來data資料集 m m index,按照te...

Matlab 之 資料元素訪問

matlab的含義是矩陣實驗室,其特徵之一就是資料的向量化操作,藉此提公升軟體執行效率。那麼,必然會涉及資料元素的訪問。matlab主要支援下面一些形式的訪問 1 array inde a i 2 cell index c 3 struct field s.fieldname 不同的訪問方式,效率差...