MATLAB數組的常用函數

2021-01-18 校苑數模

3  進行數組運算的常用函數

在MATLAB中有一些常用函數,這些函數在日常的編程計算過程中會經常遇到,一般是基本的數學概念在MATLAB中的函數表達方式。這些函數在MATLAB中可以同時作用於整個矩陣或者數組,應用起來非常方便,不需要再另寫循環程序來對各元素分別進行計算。掌握這些函數是進一步學習的基礎。MATLAB人性化的地方在於其自帶函數基本是按照相對應的英文名稱縮寫而來,所以便於記憶。

3.1 函數數組運算規則的定義

對於(m´n)的數組,函數的數組運算規則是指:

也就是說函數的數組運算是指將函數作用於矩陣中的每一個元素,並將最後的結果儲存為與原矩陣行列數相同的矩陣。

3.2 進行數組運算的常用函數

本小節列出進行數組運算的常用函數。常用基本數學函數見表2-2,常用三角函數見表2-3,常用適用於向量的函數見表2-4。

表2-2         MATLAB常用的基本數學函數

函    數

說    明

函    數

說    明

abs(x)

純量的絕對值或向量的長度

rat(x)

將實數x化為分數表示

angle(z)

複數z的相角

sign(x)

符號函數 當x<0時,sign(x)=-1; 當x=0時,sign(x)=0;  當x>0時,sign(x)=1

sqrt(x)

開平方

rem(x,y)

求x除以y的餘數

real(z)

複數z的實部

gcd(x,y)

整數x和y的最大公因數

imag(z)

複數z的虛部

lcm(x,y)

整數x和y的最小公倍數

conj(z)

複數z的共軛複數

exp(x)

自然指數

round(x)

四捨五入至最近整數

pow2(x)

2的指數

fix(x)

無論正負,向0的方向取最近整數

log(x)

以e為底的對數,即自然對數

floor(x)

捨去法取最近整數

log2(x)

以2為底的對數

ceil(x)

進一法取最近整數

log10(x)

以10為底的對數

表2-3        MATLAB常用的三角函數

函     數

說     明

函     數

說     明

sin(x)

正弦函數

sinh(x)

超越正弦函數

cos(x)

餘弦函數

cosh(x)

超越餘弦函數

tan(x)

正切函數

tanh(x)

超越正切函數

asin(x)

反正弦函數

asinh(x)

反超越正弦函數

acos(x)

反餘弦函數

acosh(x)

反超越餘弦函數

atan(x)

反正切函數

atanh(x)

反超越正切函數

atan2(x,y)

四象限的反正切函數



表2-4        適用於向量的常用函數

函     數

說     明

函     數

說     明

min(x)

向量x的元素的最小值

norm(x)

向量x的歐氏長度,也就是範數

max(x)

向量x的元素的最大值

sum(x)

向量x的元素總和

mean(x)

向量x的元素的平均值

prod(x)

向量x的元素總乘積

median(x)

向量x的元素的中位數

cumsum(x)

向量x的累計元素總和

std(x)

向量x的元素的標準差

cumprod(x)

向量x的累計元素總乘積

diff(x)

向量x的相鄰元素的差

dot(x, y)

向量x和y的內積

sort(x)

對向量x的元素進行排序

cross(x, y)

向量x和y的外積

【例2-9】  數組運算示例。

>> a=[1 2 4 9;16 25 36 49]

a =

     1     2    4     9

    16    25   36    49

>> b=sqrt(a)                   %  應用函數對矩陣中的每一個元素分別開方

b =

    1.0000    1.4142   2.0000    3.0000

    4.0000    5.0000   6.0000    7.0000

4.  查詢矩陣信息

在矩陣的使用過程中,經常需要查詢某個矩陣的一些基本信息,比如行數、列數、總元素個數、各元素的數據類型等,這就需要我們掌握矩陣信息查詢函數。

4.1 矩陣的形狀信息

表2-5中的函數,可以用來查詢一個矩陣形狀的信息。

表2-5        矩陣形狀信息

函數名稱

函數功能

函數名稱

函數功能

length

返回矩陣最長的一維的長度

numel

返回矩陣的元素個數

ndims

返回矩陣的維數

size

返回矩陣各維的長度

下面舉例說明如何使用這些函數。

【例2-10】  查詢矩陣形狀信息示例。

>> rand('state', 0);        %  設置隨機種子,便於讀者驗證

>> A = rand(5) * 10          %  生成5´5的隨機矩陣

A =

   9.5013    7.6210    6.1543   4.0571    0.5789

   2.3114    4.5647    7.9194   9.3547    3.5287

   6.0684    0.1850    9.2181   9.1690    8.1317

    4.8598   8.2141    7.3821    4.1027   0.0986

   8.9130    4.4470    1.7627   8.9365    1.3889

>> A(4:5, :) = []            %  刪除第4行和第5行

A =

   9.5013    7.6210    6.1543   4.0571    0.5789

   2.3114    4.5647    7.9194   9.3547    3.5287

    6.0684    0.1850   9.2181    9.1690    8.1317

>> size(A)

ans =

     3     5

>>a= length(A)

a =

     5

>> b=sum(A(:))/numel(A)      %  使用Sum和numel函數計算矩陣A的平均值

b =

    5.8909

>> c=mean(mean(A))             %  使用mean函數驗證矩陣A的平均值

c =

    5.5388

4.2 矩陣的數據類型

與其他程式語言類似,MATLAB提供有多種數據類型,相關內容將在第3章中介紹。本小節介紹用來查詢數據類型的函數。

表2-6中的函數,可以用來查詢一個矩陣中所用的數據類型。

表2-6       判斷數據類型函數

函數名稱

函數功能

函數名稱

函數功能

isa

查詢輸入矩陣是否是給定類型

isinteger

查詢輸入矩陣是否是整數數組

iscell

查詢輸入矩陣是否是cell數組

islogical

查詢輸入矩陣是否是邏輯數組

iscellstr

查詢輸入矩陣是否是由字符串構成的cell數組

isnumeric

查詢輸入矩陣是否是數值數組

ischar

查詢輸入矩陣是否是字符串

isreal

查詢輸入矩陣是否是實數

isfloat

查詢輸入矩陣是否是浮點數組

isstruct

查詢輸入矩陣是否是structure數組

4.3  矩陣的數據結構

表2-7中的函數,可以用來查詢一個矩陣中所用的數據結構。

表2-7       數據的結構查詢函數

函數名稱

函數功能

函數名稱

函數功能

isempty

查詢輸入矩陣是否為空

issparse

查詢輸入矩陣是否是稀疏矩陣

isscalar

查詢輸入矩陣是否是1´1標量

isvector

查詢輸入矩陣是否是向量

相關焦點

  • Matlab常用函數與常用指令大全
    順帶分享一個Matlab 2010b 下載地址http://pan.baidu.com/s/1mhEm5a4matlab常用函數- -1、特殊變量與常數ans 計算結果的變量名computer 確定運行的計算機eps 浮點相對精度Inf 無窮大I 虛數單位inputname 輸入參數名
  • Python Numpy-數組的常用函數
    下面介紹一些常用的數組操作函數和統計函數。將數組變形,參數是一個tuple。注意:數組元素總數要一致。、vsplit函數和hsplit函數np.split(ary, indices_or_sections, axis=0)   indices_or_sections是需要分成幾份vsplit函數豎直方向 axis=0hsplit函數水平方向 axis=1示例1:平均切分
  • D02 Numpy常用函數,如何優雅的遍歷一個多維數組?
    title: D02|Numpy常用函數author: Adolph Leecategories: 數據挖掘基礎tags:Python數據挖掘基礎Numpy如何遍歷一個數組,使用嵌套for循環嗎?當我們想要遍歷一個多維數組的時候,如果通過不停的使用循環去遍歷,這會讓我們的代碼可讀性與性能都變得很差,numpy提供了一個函數nditer,以幫助我們遍歷數組。nditer的入參是一個數組,返回值是一個可迭代對象。nditer 默認會優先遍歷行序,通過order參數可以使其優先遍歷列序。
  • matlab下實現FFT信號分析
    利用matlab做頻譜分析前我們需要了解分析過程中的一些基礎知識,matlab中的 fft 函數用法、fftshift 函數的用法函數 1  fft :作用:快速傅立葉變換。如果 X 是向量,則 fft(X) 返回該向量的傅立葉變換;如果 X 是矩陣,則 fft(X) 將 X 的各列視為向量,並返回每列的傅立葉變換;如果 X 是一個多維數組,則 fft(X) 將沿大小不等於 1 的第一個數組維度的值視為向量,並返回每個向量的傅立葉變換;Y = fft(X,n) 返回 n 點 DFT。
  • Python編程數組怎麼創建?4張圖講盡Numpy包所有數組創建函數
    Python語言本身沒有數組這種類型,Numpy包幾乎是為Python數組量身定做的,也是Python中經典包之一。Numpy包集成了大量的函數用來創建各種數組,功能很強大,而我們往往忽略了這些函數。由於我們不知道Numpy的函數有哪些功能,而使用額外的代碼來實現,浪費了時間和精力。
  • MATLAB函數庫大全(收藏版)
    1 常用命令表1.1 管理用命令函數名功能描述函數名功能描述addpath增加一條搜索路徑rmpath刪除一條搜索路徑demo運行Matlab演示程序log10常用對數函數log自然對數函數sqrt平方根函數表6.3 複數函數函數名功能描述函數名功能描述abs
  • 【ADAMS】矩陣/數組函數
    矩陣/數組函數可很方便地完成針對矩陣/數組的操作。(1)矩陣/數組的基本操作函數ALIGN 將數組轉換到從特定值開始ALLM 返回矩陣元素的邏輯值ANGLES 將方向餘弦矩陣轉換為指定旋轉順序下的角度矩陣ATAN(x) 數字表達式x 的反正切值ATAN2(x1,x2) 兩個數字表達式x1,x2 的四象限反正切值(3)取整函數INT(x)
  • 一起學JAVA——數組和函數
    今天我們高級數據類型——數組以及函數的作用。函數(方法)函數的定義函數就是一段有名字的代碼,可以完成某一特定功能。方法(函數)是java的最小代碼重用單位,方法(函數)是為了重用代碼。如果某個函數在執行的時候需要調用者傳入數據,那麼可以定義參數列表,用於接收數據。如果函數運行之後需要返回給調用者數據,那麼需要指定返回值類型,並且用關鍵字return返回。定義函數的3個必要條件:函數名、參數列表、返回值類型。
  • 像數組又不是數組:JS函數的參數列表到底是什麼?
    在之前介紹模擬函數重載效果的時候,我們看到JS中的函數中,其實有一個「隱形」的東西來存儲實參所有的實參,這個東西就是arguments對象。但在實際使用過程中它的使用方式和數組簡直一模一樣,用起來感覺就是數組,沒有任何毛病,但實際上它並不是一個數組。
  • 記錄集賦值給數組後,利用轉置函數處理多維數組的方法
    大家好,今日繼續講解VBA資料庫解決方案,今日講解的是第76講,內容是:記錄集賦值給數組後,利用轉置函數處理多維數組的方法。我在第一冊的第43講中,我講了將記錄集存入數組的方案,並通過一個Index函數在工作表中恢復數組數據的方法。今日講的是利用轉置函數來完成同樣的功能。
  • 圖解NumPy:常用函數的內在機制
    支持大量多維數組和矩陣運算的 NumPy 軟體庫是許多機器學習開發者和研究者的必備工具,本文將通過直觀易懂的圖示解析常用的 NumPy 功能和函數,幫助你理解 NumPy 操作數組的內在機制。NumPy 是一個基礎軟體庫,很多常用的 Python 數據處理軟體庫都使用了它或受到了它的啟發,包括 pandas、PyTorch、TensorFlow、Keras 等。理解 NumPy 的工作機制能夠幫助你提升在這些軟體庫方面的技能。而且在 GPU 上使用 NumPy 時,無需修改或僅需少量修改代碼。NumPy 的核心概念是 n 維數組。
  • Matlab:不定積分和定積分
    點擊上方藍字關注 無距書鄉 獲取即時更新最近在寫一些常用的工具方法,前面已經介紹過了導數和極限
  • 科研必備:MATLAB常用數據擬合方法(贈安裝包)
    下面小編介紹一下自己常用的擬合方法並分享案例程序。對於比較簡單的數據擬合,小編推薦直接用Excel,Origin或者Matlab的cftool工具箱,這個比較簡單,就不多介紹了,接下來主要分享對於複雜一些的的數據的擬合辦法。1,已知函數的形式,要求函數係數,直接fittype走起.
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    詳細細節請參考:python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數、Python使用ctypes模塊調用DLL函數之傳遞結構體參數這次講一下在Python中使用ctypes模塊調用DLL中的庫函數傳遞數組參數的情況。
  • PHP函數in_array()如何檢查數組中的值
    PHP函數in_array()如何檢查數組中的值 PHP函數in_array()可以幫助我們輕鬆的完成對數組中某個值的檢查。我們下面就舉一個例子來幫助大家理解PHP函數in_array()的具體應用。
  • Excel函數公式大全之利用MMULT函數計算兩個數組矩陣的乘積
    各位Excel天天學的小夥伴們大家好,歡迎收看Excel天天學出品的excel2019函數公式大全課程。今天我們依舊要學習的是Excel函數中的數學函數MMULT函數,計算兩個數組的矩陣乘積。今天這個例子也是非常的簡單,就是利用MMULT函數計算兩個不等數組的矩陣乘積。
  • Excel函數large、與數組在實際案例中的聯合運用
    在講述這些數組計算的過程,我們也穿插了一些簡單的函數的使用方法,比如函數randbetween、函數sumproduct等,另外由於我們在生活和學習當中可能更習慣於去數值之間的計算,而忽視了對數組計算方法的學習,所以在之前的文章當中,一直在將數值計算和數組計算進行比較。
  • 常用VBA函數——LBound和 UBound函數
    一、題目:要求編寫一段代碼,運用LBound函數,返回數組的指定維數的最小可用下界;運用UBound函數,返回數組的指定維數的最大可用上界
  • C語言編程技巧:控制臺程序中自定義函數實現數組內容的特定顯示
    在用C語言編寫算法調試方面的程序中,經常會遇到這種情況,在不同地方需要對處理後的數組內容多次進行顯示,並且很多情況下並非顯示數組裡面的全部內容,而僅僅是想觀察數組中的部分數據內容,若每次顯示時都用printf函數寫的話,未免太過麻煩了。
  • NumPy ndarray數組的創建
    下面將介紹Numpy的一些常用方法,尤其是與機器學習、深度學習相關的一些內容。NumPy 封裝了一個新的數據類型 ndarray(N-dimensional Array),它是一個多維數組對象。該對象封裝了許多常用的數學運算函數,方便我們做數據處理、數據分析等。那麼,如何生成 ndarray 呢?