MATLAB 结构型变量
生活随笔
收集整理的這篇文章主要介紹了
MATLAB 结构型变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結構型變量的定義
結構型變量的相關函數
| struct | 創建或轉換結構型變量 |
| fieldnames | 得到結構型變量的屬性名 |
| getfield | 得到結構型變量的屬性值 |
| setfield | 設定結構型變量的屬性值 |
| rmfield | 刪除結構型變量中的屬性 |
| isfield | 判斷是否為結構型變量的屬性 |
| isstruct | 判斷變量是否為結構型變量 |
結構型變量的定義有兩種方法
- 直接賦值定義
- 函數struct定義
注意:直接賦值時,需要指出結構中的屬性名,并且用指針操作符“.”來連接結構型變量名與屬性名。對屬性直接賦值,會自動生成結構型變量,并使結構型變量包含所定義的屬性。
第一種直接賦值定義
>> Test.a1 = 'avcdef'; >> Test.a2 = 6; >> Test.ae = [1, 2, 3, 4, 5]; >> Test運行結果:
上面代碼表示定義了結構型變量,結構型變量有3個屬性:屬性a1,屬性a2,屬性a3。
第二種函數struct定義
使用函數struct來定義結構型變量,格式如下:
結構型變量名 = struct(元素名1,元素值1,元素名2,元素值2,......) >> A = [1, 2, 3, 4, 5]; >> B = struct('a1', A, 'b2', 2, 'C3', 'abcdef') >> B運行結果:
fieldnames函數的使用
A = [1, 2, 3, 4, 5]; B = struct('a1', A, 'b2', 2, 'C3', 'abcdef')fieldnames(B) % 調用處結構型變量B的所有元素名運行結果:
getfield函數的使用
A = [1, 2, 3, 4, 5]; B = struct('a1', A, 'b2', 2, 'C3', 'abcdef')C = getfield(B, 'a1') % getfield函數把 B.a1 的值賦給 C運行結果:
setfield函數的使用
setfield函數對結構型變量的屬性值更新后的結果賦給新的結構型變量或在原有的結構型變量基礎上添加新的屬性。
注意:必須將函數結果賦予該結構型變量,否則將不會實現更改屬性值的作用。
運行結果:
rmfield函數的使用
A = [1, 2, 3, 4, 5]; B = struct('a1', A, 'b2', 2, 'C3', 'abcdef')C = rmfield(B, 'a1') % 刪除結構型變量的屬性 a1 賦值給結構型變量 C,需要將結果賦予原變量 或 新的變量,才能更新原變量或新的變量擁有更新后的結果運行結果:
isfield函數的使用
A = [1, 2, 3, 4, 5]; B = struct('a1', A, 'b2', 2, 'C3', 'abcdef')C = isfield(B, 'a1') % 判斷是否是結構型變量的屬性 C = isfield(B, 'aa') % 判斷是否是結構型變量的屬性運行結果:
isstruct函數的使用
A = [1, 2, 3, 4, 5]; B = struct('a1', A, 'b2', 2, 'C3', 'abcdef')C = isstruct(A) % 判斷是否為結構型變量 C = isstruct(B) % 判斷是否為結構型變量運行結果:
總結
以上是生活随笔為你收集整理的MATLAB 结构型变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 使用dynamic_cast执行
- 下一篇: ISIS 7 Professional仿