Matlab--從入門到精通(chapter2 matlab 基礎知識)

Chapter2 Matlab 基礎知識數組

1.基本數學運算符號函數

注:矩陣的右除是通常意義的除法,可是左除具備對稱意義,即A./B=B.\Aspa

2. 命令行中的經常使用標點命令行

 

3.常見的操做命令3d

4.輸出數據顯示格式命令orm

 注:在Matlab中,默認輸出採用雙精度的格式,默認採用format short g方式來進行顯示blog

5.數值、變量和表達式排序

5-1.變量的命名規則索引

  • 變量名對大小寫敏感
  • 變量名必須以字母開頭,後面能夠跟數字、下劃線和字母
  • 變量名最長能夠採用63個字符,以後的字符串都將被忽略
  • 關鍵字能夠經過iskeyword命令來查詢,或者能夠經過isvarname來查詢所定義的變量名

預約義的變量內存

注:被0除,系統會給出警告,並相應地用Inf或者NaN來表示這些計算結果

6.數值數據類型

  •  Matlab主要包括各類有無符號的整數型數據、雙精度和單精度型的數據。
  • 整數:主要包括8位、16位、32位和64位的有符號和無符號的整數數據類型。每種數據類型均可以經過函數intmax和intmin來查詢上下限,class函數能夠獲取變量的數據類型;randperm(9)函數隨機生成1-9的隨機變量;不一樣的數據之間不能直接進行數學運算,可是雙精度標量和整型數據之間的數學運算能夠進行。
  • 浮點數:雙精度(double)和單精度(single),其取值範圍能夠經過realmin、realmax來得到;單精度類型浮點數的精度能夠經過函數eps來獲得;單雙混合運算時,最後取單精度的數據結果。在雙精度中,Inf和NaN分別表示無窮大和被零除。
  • 整型浮點數間的操做函數:cast(x,'type'),將x的數據類型轉化爲type類型的數據
  • 複數:
  • 經過complex(a,b)獲得複數a+bi
  • 角度=弧度*180/pi

round 向最接近的整數舍入

7.數組

7-1一維數組的建立

  •  直接輸入法:直接經過空格、逗號和分號來分割數組元素,生成一維數組
  • 步長輸入法:x=a:inc:b
  • 等間距線形生成方法:x=linspace(a,b,n),採用函數在a和b之間內獲得n個線形採樣數據點
  • 等間距對數生成方法:x=logspace(a,b,n)
  • 數組元素的訪問:對單個元素能夠經過索引訪問,如x(3);對於一塊數據,能夠經過冒號形式訪問;對於其中部分數據,能夠經過構造訪問序列或者向量列表來訪問。
  • 構造訪問數組:如x(1:2:7)  x([1 4 6 3 2 2])

一維數組能夠是一個行向量,也能夠是一列多行的向量,在定義中,若是經過「;」分隔元素,那麼生成的是列向量;經過空格或者逗號分隔的元素爲行向量;行和列向量之間能夠經過「,」來進行相互之間的轉化過程。複數則是共軛轉置操做。

7-2 多維數組的建立

  • 二維數組能夠經過如下三種方法來建立
  • 方法1:直接輸入二維數組的元素,不一樣行之間的數據經過分號來分割,同一行中的採用逗號或者空格
  • 方法2:經過Array Editor來輸入二維數組
  • 方法3:對於大規模的數據,經過數據表格方式進行輸入,選擇Import data 圖標,選擇寫好的矩陣數據文件
  • 方法4;經過其餘函數生成二維數組
  • 三維數組(包含行,列和頁/層的概念)能夠經過如下方式建立:
  • 直接建立:經過一些內置函數來建立三維數組,如zeros,ones,rand,randn等,如A=zeros(3,4,2)表示三行4列,兩頁
  • 經過直接索引的方法進行建立
  • 使用內置函數reshape和repmat將二維數組轉換爲三維數組
  • 使用cat函數將低維數組轉爲高維數組,AA=cat(3,X,Y,Z)表示在第三維上合併低維數組

7-3 數組的運算

         數組的運算包含數組和標量之間的運算,以及數組和數組之間的運算。數組與數組之間的還包括直接運算和點運算。注意區分左除和右除。

        二維數組的運算:對於矩陣的加減運算以及其餘點運算,都是針對矩陣的元素進行的。

7-4 經常使用的標準數組

      包括全0數組、全1數組、單位矩陣、隨機矩陣、對角矩陣以及元素爲指定常數的數組等。

7-5 低維數組的尋址和搜索

排序:在進行一維數組的排序時,默認爲升序排列,若是須要降序,須要在第二個參數處以descend來代替。

         例如:[As,idx]=sort(A,'ascend')

         sort函數只對數組的列進行排序;若是要對行進行排序,須要爲sort函數提供第二個參數2,As=sort(A,2)

  子數組搜索功能能夠經過find函數來搜索。

 若是搜索最值,可使用max和min函數;若是搜索的是二維數組,那麼這兩個函數返回每一列的最值。

8. 單元數組和結構體

      單元數組(cell array)和結構體(structure)均可以將不一樣類型的相關數據集成到一個單一的變量中。

       結構體和單元數組十分類似,區別是結構體中的數據存儲並非由數字來標示的,而是經過結構體中的名稱來進行標示的。

8-1 單元數組的建立和操做

          單元數組中的每個元素稱爲單元(cell),單元中能夠包含任何類型的Matlab數據。

          單元數組的建立能夠分爲兩種,經過直接賦值語句直接建立,即按照單元索引法和按照內容索引法。

  或者經過cell函數首先爲單元數組分配內存空間,而後再對每一個單元進行賦值。

          用花括號能夠訪問單元數組單元的內容,採用celldisp函數來強制顯示單元數組的全部內容。

          C=[A;B] 合併獲得更大的單元數組

          用reshape函數來改變單元數組的結構;repmat函數用於複製單元數組

8-2 結構體建立

      結構體(structure)和單元數組很是類似,結構體經過字段(fields)來對元素進行索引,在訪問時只需經過點號來訪問數據變量。

       結構體能夠經過兩種方法來建立,即經過直接賦值方式建立或者經過struct函數來建立。

      結構體函數:

           cat函數:提取結構體數據後依次排列,如center=cat(1,circle.center)

           deal函數:提取多個元素的數值賦予不一樣的變量,或對結構體字段賦值,

                        [c1,c2,c3]=deal(circle.color)          [circle.radius]=deal(13,27,36)

9.字符串

常見的操做函數:

 

10.關係和邏輯運算

      Matlab對一個數組執行邏輯判斷時,全部的非0數組都視爲true,而0視爲1;當執行關係和邏輯判斷時,返回true或者false。

10-1 關係運算符

    主要用於比較兩個同維數的數組的大小,或者比較數組和標量的大小。~=表示不等於。

10-2邏輯運算符

  

10-3 關係和邏輯函數

xor(x,y) 異或操做,當x和y中,一個爲真,一個爲假時,函數返回true,反之,返回false

any(y) 若是x是向量,當向量中的任意一個元素不爲0時,返回true;若是x 是數組,對每一列,若是有一個元素不爲0,返回true

all(x)若是x是向量,當向量中的全部元素都不爲0時,返回true;若是x 是數組,對每一列,若是全部元素都爲0,返回true

相關文章
相關標籤/搜索