MATLAB資料結構

2021-08-07 13:14:13 字數 2553 閱讀 3726

matlab有四種資料結構

注意在同乙個陣列的的資料元素型別必須相同(當然可以轉化為同一高階資料型別的可以放在同乙個陣列)

舉個例子:

這樣子寫x = [1 3+5i]

輸出結果是這樣子:會全部轉成複數形式

x =

1.0000 + 0.0000i 3.0000 + 5.0000i

如果這樣子寫: x = [1 『你還會』 3+5i]

會報錯:從 double 轉換為 char 時出現以下錯誤:

復數值不能轉換為字元

(1)直接賦值法:x = [1 2 3 4] %每個資料元素之間有空格加逗號也行

(2)冒號法:x =a : step : b ,a,b為陣列元素起止值,step為陣列元素間距值,可以省略不寫預設為1

(3)等距函式生成法:x = linspace(a,b,n),a,b為陣列元素起止值等分為n份,預設值是100可省略不寫

(4)對數函式生成法:x = logspace(a,b,n),a,b為陣列元素起止值等分為n份,預設值是50可省略不寫

陣列最尋常的尋訪方式就是根據下標尋訪,有以下幾種方式:

x = [1 2 3 4] ,下標都是從1開始

x(2) = 2

x(1:3) = [1,2,3] %生成子陣列

x(2:end) = [2,3,4]%end表陣列最後乙個元素的位置

x(3:-1:1) = [3,2,1]%負數倒敘排

x(find(x>2)) = [3,4]

x([1 2 3 3 2 1]) = [ 1 2 3 3 2 1]%對元素可重複尋訪

x([1 2 ]) = [11 22] % x = [11 22 3 4 5]可以這樣為元素賦值

當二維陣列帶有線性變換的含義時,二維陣列就可以看成乙個矩陣

x = [1,2,3;4,5,6;7,8,9]%3*3矩陣

可以用全下標尋訪也可以用單下標尋訪,後者適用於高維陣列,全下標於單下標的轉換,n*m維陣列 x(i,j) = x((j-1)*m+i)

幾個特殊的表示方式:

x([1,2],[3]) %表示x矩陣的第1,2行的第3列

ans =

3 6

x(:,2)%表示所有行的第二列

ans =

2 5

8 x(:)%表示轉換成列向量

ans =

1 4

7 2

5 8

3 6

9邏輯陣列就是陣列元素只能是0和1

例如下面這個,

a =

1 2 3

4 5 6

7 8 9

m = a>=4

m = %m就是邏輯陣列

0 0 0

1 1 1

1 1 1

b = a(m)』

ans = %b表示的就是a中陣列元素大於等於4的陣列元素的行向量

4 7 5 8 6 9

這個也是陣列,但是這種陣列可以容納不同資料型別的元素

1.3.1 建立

構造單元陣列有左標記法和右標記法,就是乙個{}放在變數左邊或右邊,{}是單元陣列的標誌

例如建立乙個2*2的單元陣列c,左標誌法:

c=[1,2]

c = [『nih』]

c = eye(3)

c =

右標誌法:

c(1,1) =

c(1,2) =

c(2,1) =

c(2,2) =

1.3.2尋訪

例如c(2,2) = 1,因為c是乙個3*3單位矩陣,再尋訪裡面的(2,2)位置的陣列元素是1

1.3.3刪除元素

c=
1.3.4單元陣列函式

此處不想打字,直接上圖

其實結構陣列和c語言的結構陣列性質類似,就是屬性的集合

1.4.1生成

繼續上圖哈哈

第一種方式:

第二種:

1.4.2 尋訪

例如 person(2).name

person(1:2)這樣子

還可以person.name得到乙個屬性值陣列

MATLAB 高階資料結構 table

第一種根據變數名 var 構造表,所有變數的行數必須相同 第二種為 建立空間,sz 為行向量,指定維數,例如 4,3 表示 4 行 3 列 vartypes為資料型別元胞陣列。sz 4 3 vartypes t table size sz,variabletypes vartypes t table...

MATLAB基礎2 2 資料結構1

3.整型 4.複數 ii.資料型別轉換 iii.無窮與非數值 classname class x 不僅可以用於檢視數值變數的型別,還可以檢視任何物件的型別,如function handle表示函函式控制代碼型別 matlab預設數值型別為雙精度浮點型別 double型別為64位,佔8位元組 sing...

Matlab的基本資料結構

基本上,matlab有3種資料結構,陣列,元胞陣列 cell 和結構體 struct 在同乙個陣列的的資料元素型別必須相同 1.1.1 建立 1 直接賦值法 x 1 2 3 4 每個資料元素之間有空格或逗號 2 冒號法 x a step b a,b為陣列元素起止值,step為陣列元素間距值,可以省略...