matlab數組運算

             一個個標量數據被組織成矩形或長方形的陣列集合,這就是數組(Array)。而每次調用命令將同時地加在數組所含的每個標量元素 上,構成所謂的數組運算。(matlab中,標量被認作只含一個元素的特殊二維數組)。

        數值數組(Numeral Array)和數組運算(Array Operations)是MatLab的核心內容。

MatLab是以複數矩陣作爲基本的運算單元,向量和標量都作爲特殊的矩陣來處理:向量當作只有一行或一列矩陣,標量則爲只有一個元素的矩陣。

           矩陣只是數組的一種特例,它是二維的數值型數組,表示了一種線性變換關係。

        矩陣的概念:從外觀和數據結構上看,二維數組和數學中的矩陣沒有區別。但是,矩陣作爲一種變換或影射算子的體現,矩陣運算有着明確而嚴格的數學規則

矩陣運算——》按照線性代數的運算規則進行

  數組運算——》對數組中的每個元素進行同樣的運算

   MATLAB精心設計數組和數組運算的好處:

①使計算程序簡單、易讀,使程序命令更接近於教科書上的數學計算公式;

②提高程序的向量化程度,提高計算效率,節省計算機資源。

數值數組的生成和尋訪

⑴逐個元素輸入法

對於較小的簡單的數組,從鍵盤上直接輸入,需要遵循以下幾個原則:
 
               數組(矩陣)中每一行的元素必須用空格或逗號分開
 
               在數組(矩陣)中,用分號或回車行表明每一行的結束
 
               整個輸入數組(矩陣)必須包含在方括號中

⑵冒號生成法

x=first:last

創建從first開始,加1計數,到last結束的行向量x

x=first:increment:last

     創建從first開始,加增量計數,到last結束的行向量x。
                       increment可以是負數,或省略則默認爲1。
                       若inc>0但是first大於last,或者inc<0但是last大於first,則X是空向量。

⑶定數線性採樣法

x=linspace(first,last,n)

     在設定總點數的情況下,均勻採樣生成一維行數組。
                       創建從first開始,到last結束,有n個元素的行向量x。
                       n省略默認爲100。

  ⑷利用M文件

對於經常需要調用的且比較大的數組,可專門爲該數組創建一個M文件。

通過數組編輯器生成矩陣
     
                  步驟:先建立空矩陣a=[],
                 
                 然後在工作空間(workspace)中點開a進入數   組編輯器,輸入元素。  

                                               簡單數組創建 

常用數組生成

  

                  

                              數組運算常用函數

          

數組運算和矩陣運算(注意區別!!!!)





非數和空數組
Not a Number ——>NaN   nan
0/0,∞/∞,0×∞等運算
Nan參與運算所得的結果也是nan(傳遞性)
數沒有大小的概念。
實表示0/0等運算結果
免因爲這類異常運算而造成的程序中斷
數據可視化中用來裁剪圖形
(1)Matlab沒有定義專門的邏輯變量,在所有關係、邏輯表達式中,作爲輸入的任何非0數都被看成是“邏輯真”,只有0被認爲是“邏輯假”
(2)所以關係和邏輯表達式的計算結果,是一個由0和1組成的“邏輯數組”
(3)邏輯數組是一種特殊的數組,與“數組類”有關操作和函數對它同樣適用

           關係運算

<、<=、>、>=、==、~ =

      標量可以與數組比較,比較在此標量和數組的每個元素之間進行,比較結果與被比較數組同維
                        數組與數組比較必須維數相同,對相同位置數進行對比

邏輯運算

& 與、 |  或、 ~  非

字符串數組

字符變量的創建

A=‘機械工程及自動化’

字符串轉換函數


 

                                              


發佈了30 篇原創文章 · 獲贊 9 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章