matlab如何獲得struct內元素的個數

2022-01-24 11:48:55 字數 3705 閱讀 8977

1樓:匿名使用者

你說的「元素」是指結構體的域(field,也稱欄位)吧?

如果是,那就用filednames獲取struct所有的欄位名,然後length一下就知道有多少個了。

2樓:匿名使用者

length就ok了。

我有一個matlab結構體,裡面欄位非常多,我想依次取出這些內容,有什麼好的函式嗎,可以用序號依次提取的

3樓:匿名使用者

structname(:).num 和 extractfield(structname,'num') 用這兩個函式試試

4樓:

如果資料時這樣的話,考慮用struct2cell轉為cell型的,這樣比如

original_masks =

daria_bend: [144x180x84 logical]daria_jack: [144x180x89 logical]那轉後就沒有欄位名稱了,只剩下資料的一個元胞change=

[144x180x84 logical]

[144x180x89 logical]

這樣如果你想用第一個資料就change,第二個change這樣

5樓:匿名使用者

fieldnames() 即可取出所有欄位名

matlab,我想把struct裡面的一些數字提出來,組成一個向量。

6樓:灰度256級

temp = v.exponent(:).

這樣你就得到了一個列向量,如果要行向量,轉置就可以了。

matlab如何讀取結構體中的資料,比如我想利用裡面的資料畫圖

7樓:匿名使用者

1、首先,啟動matlab軟體(雙擊開啟-啟動介面-matlab主介面),具體如圖所示。

2、關於元胞陣列和結構體的顯示函式分別是celldisp函式的語法格式。

3、和disp函式的語法格式。

4、關於元胞陣列的顯示函式的使用。

5、結構體的顯示函式的讀取和使用。

注意事項:matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

8樓:匿名使用者

plot(ch11.values)

結構體後面的屬性用a.x就可以得到

a是結構體變數的名字,x是它的域

當然你引用的時候要確保a有x這個域,不然會報錯例如ch11.scale

ch11.units

都是可以的

但是ch11.abc就會出錯了

matlab如何編寫程式提取結構體中的資料

9樓:匿名使用者

如何用matlab提取結構體中的資料,可以這樣來寫

data1=discharge.capacity

matlab中,如何生成帶變數的struct,如何引用

10樓:匿名使用者

2. 使用struct函式建立結構

使用struct函式也可以建立結構,該函式產生或吧其他形式的資料轉換為結構陣列。

struct的使用格式為:

s = sturct('field1',values1,'field2',values2,…);//注意引號

該函式將生成一個具有指定欄位名和相應資料的結構陣列,其包含的資料values1、valuese2等必須為具有相同維數的資料,資料的存放位置域其他結構位置一一對應的。對於struct的賦值用到了元胞陣列。陣列values1、values2等可以是元胞陣列、標量元胞單元或者單個數值。

每個values的資料被賦值給相應的field欄位。

當valuesx為元胞陣列的時候,生成的結構陣列的維數與元胞陣列的維數相同。而在資料中不包含元胞的時候,得到的結構陣列的維數是1×1的。例如:

s = struct('type',,'color',,'x',)

s =1x2 struct array with fields:

type

color

x得到維數為1×2的結構陣列s,包含了type、color和x共3個欄位。這是因為在struct函式中、和都是1×2的元胞陣列,可以看到兩個資料成分分別為:

s(1,1)

ans =

type: 'big'

color: 'blue'

x: 3

s(1,2)

ans =

type: 'little'

color: 'red'

x: 4

相應的,如果將struct函式寫成下面的形式:

s = struct('type',,'color',,'x',)

s =2x1 struct array with fields:

type

color

x則會得到一個2×1的結構陣列。

下面給出利用struct構建結構陣列的具體例項。

【例4.3.1-3】利用函式struct,建立溫室群的資料庫。

(1) struct預建立空結構陣列方法之一

a = cell(2,3); % 建立2×3的元胞陣列

green_house_1=struct('name',a,'volume',a,'parameter',a(1,2))

green_house_1 =

2x3 struct array with fields:

name

volume

parameter

(2)struct預建空結構陣列方法之二

green_house_2=struct('name',a,'volume',,'parameter',)

green_house_2 =

2x3 struct array with fields:

name

volume

parameter

(3)struct預建空結構陣列方法之三

green_hopuse_3(2,3)=struct('name',,'volume',,'parameter',)

green_hopuse_3 =

2x3 struct array with fields:

name

volume

parameter

(4)struct建立結構陣列方法之四

a1=;a2=;

green_house_4(2,3)=struct('name',a1,'volume',a2,'parameter',);

t6=[31.2,30.4,31.

6,28.7;29.7,31.

1,30.9,29.6]; green_house_4(2,3).

parameter.temperature=t6;

green_house_4

ans =

2x3 struct array with fields:

name

volume

parameter

引用時就輸入struct().***就可以了

matlab擬合曲線後怎麼獲得曲線上任意點的座標

clcclear x 26.3 33.5 39.1 43.1 47.0 50.0 54.5 56.8 64.9 72.0 77.0 y 8.85 8.17 7.49 7.16 6.81 6.58 6.21 5.91 5.48 5.11 4.98 多項式擬合 n 2 a polyfit x,y,n n...

matlab矩陣如何去掉引號,MATLAB字串輸出時如何去除單引號

使用disp輸出cell陣列,如果其元素為字串型別,本來就是要帶引號的。如果不想要引號,可以考慮使用迴圈配合fprintf進行輸出。matlab 字串輸出時如何去除單引號 1 先給定一個字串 zfc linux快速入門教程 矽片 1 矽片 2 先用區域性替換的方法 去掉字串裡面的雙引號 import...

matlab求中值,求教,matlab中如何求特徵值?

clear all close all clcr 50 m 0 r 1 y0 for n 1 r a rand 1,r 0.4 b round a generate impulse noise s 2 m.0.9.m generate signal x s b impulse noise corru...