日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab中的向量和数组(超详细)

發布時間:2023/12/29 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab中的向量和数组(超详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab中的向量和數組(超詳細)


文章目錄

  • Matlab中的向量和數組(超詳細)
    • Matlab中的向量
      • 介紹
      • 創建向量
      • 向量的大小
      • 索引向量
          • 數值索引
          • 邏輯索引
      • 縮短向量
      • 向量運算
        • 算術運算
        • 邏輯運算
        • sum()、min()、max()、round()、ceil()、floor()、fix()
        • 切片
    • Maltab中的數組
      • 數組的屬性
      • 創建數組
      • 訪問數組元素
      • 數組運算
        • 數組的算術運算
        • 數組的邏輯運算
        • sum()、max()、min()、round()、ceil()、floor()、fix()
        • 連接數組
        • 切片數組
        • 重塑數組

Matlab中的向量

介紹

matlab中的向量是只有一行元素的數組,向量中的單個項通常稱為元素。Matlab中的向量索引值從1開始,而不是從0開始。

創建向量

  • 直接輸入值
    例如:
    這里既可以用逗號來分割,也可以用空格
  • 使用冒號輸入某一數字范圍的值,例如,C=1:4:20,其中第一個數字是起始值,第二個數字是步長,第三個數字是終止值。如果步長是1的話,可以不寫步長

例如:

  • 使用函數linspace(?\cdots?):用于創建兩個限定值之間固定數量的值。

例如:
其中第一個數字是起始值,第二個數字是終止值,第三個數字是這個區間向量的個數

  • 函數zeros(1,n):創建全零的向量

例如:
其中第一個數字是數組的行數,第二個數字是數組的列數。

  • 函數ones(1,n):創建全1的向量

例如:
其中第一個數字是數組的行數,第二個數字是數組的列數。

  • rand(1,n):創建0~1之間的隨機數的向量

例如:

向量的大小

Matlab提供兩個函數來確定一般數組和特殊向量的大小:size()和length().

  • size():返回向量中的行的數量和列的數量。由于向量是一維的,所以第一個每次輸出都是一
  • length():返回數組行列大小的最大值,對于向量,表示其長度

例如:

索引向量

通過在括號內輸入零個(全部輸出)或多個元素的索引值,可以單個或分組訪問向量中的元素??梢酝ㄟ^以下兩種方式中的任意一種訪問向量中的元素: 使用數值向量和邏輯向量。

數值索引

通過在括號內輸入零個或多個元素的索引值,可以單個或分組訪問向量中的元素。
例子:

另外,索引環境中的關鍵字end表示向量中的最后一個元素的索引

**注意:**在Matlab中在賦值操作中輸入的索引超過當前的邊界,Matlab會自動擴列,空位用零補齊,比如,我們在這個例子中輸入A(10)看看會有什么結果。

邏輯索引

我們來看一個例子:
創建了一個condition邏輯數組,通過數組來索引這個向量

縮短向量

有些時候,我們需要刪除向量中的元素??梢杂盟饕龑⑿枰獎h除的部分賦值為[ ]

但是,縮短向量不是做正確的方法,因為可能會導致一些邏輯問題,在可行的情況下,應該使用索引來復制需要保存的元素。

向量運算

算術運算

  • 向量中的加減法運算

可以看見是對向量中每個元素進行加法運算,減法也一樣

  • 向量中的乘法、除法.

例子

  • 向量中的指數


.?.*.??*?的區別:
對于矩陣和數字之間的運算,.?.*.??*?沒什么區別,但是對于矩陣和矩陣之間,.?.*.? 表示矩陣對應元素相乘,而?*?表示矩陣乘法。

邏輯運算

向量的邏輯運算會產生的邏輯結果向量。
例如:

邏輯與(&)和邏輯或(|):

例子:

find():可以用find()函數查找值為true的元素在一個邏輯向量中的索引值
例如:

sum()、min()、max()、round()、ceil()、floor()、fix()

sum():向量中元素的總和;

min()、max():返回向量中元素最小最大值;

round()、ceil()、floor()、fix():常規取整、向上取整、向下取整、向零取整

切片

切片操作能將一個向量中的指定元素復制到另一個向量的不同位置。
看一個簡單的例子:

Maltab中的數組

向量是聚集相似數據集的最簡單的方法。而數組是向量的拓展,使其包括多個維度的數組,其中二維數組是每行具有相同的列,并且每列具有相同的行。

數組的屬性

  • size():返回各個維度的大小

  • length():返回數組的最大維度

創建數組

  • 直接輸入值
    和向量一樣,在數組中直接輸入值時,可以使用分號(;)或以新的一行來表示換行

  • zeros(m,n):創建m行n列的全0的數組

  • rand(m,n):創建m行n列的0~1隨機數的數組

  • randn(m,n):創建m行n列的正態分布隨機數的數組

  • diag():返回對角線上的元素

訪問數組元素

數組的索引是從列開始,從上往下依次為1,2,3 , ?\cdots?
例如:

數組運算

數組的算術運算

  • 數組之間的加減

例子:

  • 數組之間的乘法

數組和數字的乘法:對應元素相乘
例子:

數組與數組的乘法(?*?):一定要符合矩陣可乘。
例子

數組與數組之間的.?.*.?:對應元素相乘:

例子:

數組的邏輯運算

如果兩個數組具有相同的大小,或者其中一個數組是標量(及長度為1的向量),邏輯運算可以同時執行在這兩個數組的各個元素上。
例如

sum()、max()、min()、round()、ceil()、floor()、fix()

  • sum():返回一個行向量,包含該數組每列的總和

  • max()和min():分別返回一個行向量,每列的最大值和每列的最小值

連接數組

看一個簡單的例子

切片數組

對一個數組進行切片:A(對行索引,對列索引)

例子:

重塑數組

有些時候我們希望將某一維度的數組變形為另一種維度的需求,函數reshape(?\cdots?)能完成這種邊形。

例子:

總結

以上是生活随笔為你收集整理的Matlab中的向量和数组(超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。