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為陣列元素間距值,可以省略...