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...