MATLAB算術運算

2022-10-26 18:00 更新

MATLAB的算術運算有兩種不同類型:1)矩陣算術運算;2)陣列算術運算。

MATLAB矩陣算術運算與線性代數(shù)中的定義相同:執(zhí)行數(shù)組操作,無論是在一維和多維數(shù)組元素的元素。

矩陣運算符和數(shù)組運營商是有區(qū)別的句點(.)符號。然而,由于加法和減法運算矩陣和陣列是相同的,操作者這兩種情況下是相同的。

下表給出了運算符的簡要說明:

    操作符描述
+加法或一元加號。A + B將A和B。 A和B必須具有相同的尺寸,除非是一個標量。一個標量,可以被添加到任何大小的矩陣。
-減法或一元減號。A - B,減去B從A和B必須具有相同的大小,除非是一個標量??梢詮娜我獯笮〉木仃囍袦p去一個標量。
*

矩陣乘法;是一個更精確的矩陣A和B的線性代數(shù)積,

矩陣乘法對于非純量A和B,列一個數(shù)必須等于B.標量可以乘以一個任意大小的矩陣的行數(shù)。

.*數(shù)組的乘法;A.*B是數(shù)組A和B的元素積,A和B必須具有相同的大小,除非A、B中有一個是標量。
/
斜線或矩陣右除法;B/A與B * inv(A)大致相同。更確切地說:
 B/A = (A'B')'
./矩陣右除法;矩陣A與矩陣B相應元素相除(A、B為同緯度的矩陣)
\反斜杠或矩陣左除;如果A是一個方陣,AB是大致相同的INV(A)* B,除非它是以不同的方式計算。如果A是一個n*n的矩陣,B是一個n組成的列向量,或是由若干這樣的列的矩陣,則X = AB 是方程 AX = B ,如果A嚴重縮小或者幾乎為單數(shù),則顯示警告消息。
.\數(shù)組左除法;A. B是元素B(i,j)/A(i,j)的矩陣。A和B必須具有相同的大小,除非其中一個是標量。
^矩陣的冪。X^P是X到冪P,如果p是標量;如果p是一個整數(shù),則通過重復平方計算功率。如果整數(shù)為負數(shù),X首先反轉(zhuǎn)。對P值的計算,涉及到特征值和特征向量,即如果[ D ] = V,EIG(x),那么X^P = V * D.^P / V。
.^A.^B:A的每個元素的B次冪(A、B為同緯度的矩陣)
'矩陣的轉(zhuǎn)置;A'是復數(shù)矩陣A的線性代數(shù)轉(zhuǎn)置,這是復共軛轉(zhuǎn)置。
.'數(shù)組的轉(zhuǎn)置;A'是數(shù)組A的轉(zhuǎn)置,對于復數(shù)矩陣,這不涉及共軛。


舉例說明

下面的例子顯示使用標量數(shù)據(jù)的算術運算符。創(chuàng)建一個腳本文件,用下面的代碼:

a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
x = 7;
y = 3;
z = x ^ y

運行該文件,產(chǎn)生結(jié)果如下:

c =
    30
d =
   -10
e =
   200
f =
    0.5000
g =
     2
z =
   343

MATLAB算術運算功能

除了上述列舉的一些算術運算符,MATLAB 中還擁有以下的命令/功能:

函數(shù)描述
uplus(a)一元加號;增加量a
plus (a,b)相加;返回 a + b
uminus(a)一元減號;減少a
minus(a, b)相減;返回 a - b
times(a, b)數(shù)組相乘;返回 a.*b
mtimes(a, b)矩陣相乘;返回 a* b
rdivide(a, b)右陣劃分;返回 a ./ b
ldivide(a, b)左陣劃分;返回 a. b
mrdivide(A, B)求解線性方程組xA = B for x
mldivide(A, B)求解線性方程組xA = B for x
power(a, b)數(shù)組求冪;返回 a.^b
mpower(a, b)矩陣求冪;返回 a ^ b
cumprod(A)
累積乘積;返回與包含累積乘積的數(shù)組A相同大小的數(shù)組。
  • 如果A是向量,則cumprod(A)返回一個包含A的元素的累積乘積的向量。

  • 如果A是矩陣,則cumprod(A)返回一個矩陣,其中包含A的每一列的累積乘積。

  • 如果A是一個多維數(shù)組,那么cumprod(A)將沿著第一個非正整數(shù)維。

cumprod(A, dim)沿維 dim 返回返回累積乘積。
cumsum(A)
累加總和;返回包含累積和的數(shù)組A
  • 如果A是向量,則cumsum(A)返回一個包含A的元素的累積和的向量。

  • 如果A是矩陣,則cumsum(A)返回一個矩陣,其中包含A的每列的累積和。

  • 如果A是一個多維數(shù)組,那么cumsum(A)將沿著第一個非整數(shù)維度起作用。

cumsum(A, dim)返回沿著dim的元素的累積和。
diff(X)
差分和近似導數(shù);計算x相鄰元素之間的差異。
  • 如果X是向量,則diff(X)返回相鄰元素之間的差異的向量,比X短一個元素:[X(2)-X(1)X(3)-X(2)... X(N)-X(N-1)]

  • 如果X是一個矩陣,則diff(X)返回行差的矩陣:[X(2:m,...)-X(1:m-1,:)]

diff(X,n)遞歸應用n次,導致第n個差異。
diff(X,n,dim)它是沿標量dim指定的維數(shù)計算的第n個差分函數(shù)。 如果order n等于或超過Dim的長度,diff將返回一個空數(shù)組。
prod(A)
數(shù)組元素的乘積;返回A數(shù)組元素的乘積。
  • 如果A是向量,則prod(A)返回元素的乘積。

  • 如果A是非空矩陣,則prod(A)將A的列作為向量,并返回每列乘積的行向量。

  • 如果A是一個空的0-by-0矩陣,則prod(A)返回1。

  • 如果A是一個多維數(shù)組,那么prod(A)將沿著第一個非子集維度行為并返回一個乘積數(shù)組。 該維數(shù)的尺寸減小到1,而所有其他維數(shù)的尺寸保持不變。

如果輸入A為單個,則prod函數(shù)計算并返回B為單個;對于所有其他數(shù)字和邏輯數(shù)據(jù)類型,prod函數(shù)計算并返回B為double。
prod(A,dim)沿dim維度返回乘積。 例如,如果A是矩陣,則prod(A,2)是包含每一行的乘積的列向量。
prod(___,datatype)在數(shù)據(jù)類型指定的類中乘以并返回一個數(shù)組。
sum(A)
  • 數(shù)組元素的總和;返回數(shù)組的不同維度的和。如果A是浮動的,那么是雙倍或單個,B是本地累加的,它與A相同,B與A具有相同的類。如果A不是浮動的,則B被累加為雙,B具有類double。

  • 如果A是向量,則sum(A)返回元素的總和。

  • 如果A是矩陣,則sum(A)將A的列作為向量,返回每列的和的行向量。

  • 如果A是一個多維數(shù)組,sum(A)將沿著第一個非單例維度的值作為向量來處理,返回一個行向量的數(shù)組。

sum(A,dim)沿標量A的維度求和。
sum(..., 'double')

sum(..., dim,'double')

執(zhí)行雙精度加法,并返回double類型的答案,即使A具有數(shù)據(jù)類型單一或整型數(shù)據(jù)類型。這是整型數(shù)據(jù)類型的默認值。
sum(..., 'native')

sum(..., dim,'native')

在本機數(shù)據(jù)類型A中執(zhí)行添加,并返回相同數(shù)據(jù)類型的答案。 這是單和雙的默認值。
ceil(A)向正無窮方向舍入;將a元素舍入為大于或等于A的最近整數(shù)。
fix(A)舍入為零
floor(A)向負無窮方向舍入;將a元素舍入為小于或等于a的最近整數(shù)。
idivide(a, b)

idivide(a, b,'fix')

整數(shù)除法的舍入選項;與A./B相同,只是分數(shù)的商向零舍入到最接近的整數(shù)。
idivide(a, b, 'round')分數(shù)的商舍入到最近的整數(shù)。
idivide(A, B, 'floor')分數(shù)商向負無窮大舍入到最接近的整數(shù)。
idivide(A, B, 'ceil')分數(shù)商向無窮大舍入到最接近的整數(shù)。
mod (X,Y)
除法后的模數(shù);返回X - n.* Y,其中 n = floor(X./Y)。 如果Y不是整數(shù),并且商X / Y在整數(shù)的舍入誤差內(nèi),則n是整數(shù)。 輸入X和Y必須是相同大小的真實數(shù)組或?qū)崝?shù)標量(提供Y?= 0)。

請注意:

  • mod(X,0) 是 X

  • mod(X,X) 是 0

  • 對于 X = Y 和 Y = 0的 mod(X,Y)具有與Y相同的符號。

rem (X,Y)
除法之后的余數(shù);返回X - n.* Y,其中n = fix(X./Y)。 如果Y不是整數(shù),并且商X / Y在整數(shù)的舍入誤差內(nèi),則n是整數(shù)。 輸入X和Y必須是相同大小的真實數(shù)組或?qū)崝?shù)標量(提供Y?= 0)。
請記?。?/span>
  • rem(X,0) 是 NaN

  • X?= 0的rem(X,X)為0

  • 對于 X~=Y 和 Y~=0 的rem(X,Y)與X具有相同的符號。

round(X)舍入到最接近的整數(shù); 將X的元素舍入到最接近的整數(shù)。 正數(shù)元素的小數(shù)部分為0.5,最大到最接近的正整數(shù)。 負數(shù)元素的小數(shù)部分為-0.5,向下舍入到最接近的負整數(shù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號