MATLAB 運(yùn)算符

運(yùn)算符是一個(gè)符號(hào),告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作。MATLAB設(shè)計(jì)為主要在整個(gè)矩陣和數(shù)組上運(yùn)行。因此,MATLAB中的運(yùn)算符既可以處理標(biāo)量數(shù)據(jù),也可以處理非標(biāo)量數(shù)據(jù)。MATLAB允許以下類(lèi)型的基本運(yùn)算-

  • 算術(shù)運(yùn)算符

  • 關(guān)系運(yùn)算符

  • 邏輯運(yùn)算符

  • 按位運(yùn)算符

  • 集合運(yùn)算符

算術(shù)運(yùn)算符

MATLAB允許兩種不同類(lèi)型的算術(shù)運(yùn)算-

  • 矩陣算術(shù)運(yùn)算

  • 數(shù)組算術(shù)運(yùn)算

矩陣算術(shù)運(yùn)算與線性代數(shù)中定義的相同。數(shù)組操作是在一維和多維數(shù)組上逐個(gè)元素執(zhí)行的。

矩陣運(yùn)算符和數(shù)組運(yùn)算符之間用句點(diǎn)(。)符號(hào)進(jìn)行區(qū)分。但是,由于矩陣和數(shù)組的加法和減法運(yùn)算相同,因此兩種情況下的運(yùn)算符均相同。下表簡(jiǎn)要介紹了運(yùn)算符-

算術(shù)運(yùn)算符示例

序號(hào)運(yùn)算符和說(shuō)明
1

+

加法或一元加號(hào)。A+B將存儲(chǔ)在變量A和B中的值相加。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。標(biāo)量可以添加到任何大小的矩陣中。

2

-

減法或一元減法。A-B從A中減去B的值。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。標(biāo)量可以從任何大小的矩陣中減去。

3

*

矩陣乘法。C=A*B是矩陣A和B的線性代數(shù)積。更準(zhǔn)確地說(shuō),

Matrix Multiplication

對(duì)于非標(biāo)量A和B,A的列數(shù)必須等于B的行數(shù)。標(biāo)量可以與任意大小的矩陣相乘。

4

.*

數(shù)組乘法。A.*B是數(shù)組A和B的逐元素乘積。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。

5

/

斜杠或矩陣右除法。B/A與B*inv(A)大致相同。更準(zhǔn)確地說(shuō), B/A = (A'\B')'.

6

./

數(shù)組右除法。A./B是元素A(i,j)/B(i,j)的矩陣。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。

7

\

反斜杠或矩陣左除法。如果A是方陣,則A\B與inv(A)*B大致相同,只是計(jì)算方式不同。如果A是一個(gè)n乘n的矩陣,而B(niǎo)是一個(gè)包含n個(gè)分量的列向量,或者是一個(gè)包含多個(gè)這樣的列的矩陣,那么X=A\B是方程AX=B的解。如果A的比例嚴(yán)重或幾乎是單數(shù),則會(huì)顯示一條警告消息。

8

.\

數(shù)組左除法。A.\B是元素B(i,j)/A(i,j)的矩陣。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。

9

^

矩陣冪。如果p是標(biāo)量,那么X^p是p的冪。如果p是整數(shù),則通過(guò)重復(fù)平方計(jì)算冪。如果整數(shù)是負(fù)數(shù),則X先倒數(shù)。對(duì)于p的其他值,計(jì)算涉及特征值和特征向量,因此如果[V,D]=eig(X),那么X^p=V*D.^p/V。

10

.^

數(shù)組冪。A.^B是元素A(i,j)為B(i,j)次方的矩陣。A和B必須具有相同的大小,除非其中一個(gè)是標(biāo)量。

11

'

矩陣轉(zhuǎn)置。A'是A的線性代數(shù)轉(zhuǎn)置。對(duì)于復(fù)矩陣,這是復(fù)共軛轉(zhuǎn)置。

12

.'

數(shù)組轉(zhuǎn)置 a’是 a 的數(shù)組轉(zhuǎn)置。對(duì)于復(fù)雜的矩陣,這不涉及共軛。

關(guān)系運(yùn)算符

關(guān)系運(yùn)算符還可以處理標(biāo)量和非標(biāo)量數(shù)據(jù)。數(shù)組的關(guān)系運(yùn)算符執(zhí)行兩個(gè)數(shù)組之間的逐元素比較,并返回相同大小的邏輯數(shù)組,其中元素設(shè)置為邏輯1(true),關(guān)系為true,元素設(shè)置為邏輯0(false)。不是。

下表顯示了MATLAB中可用的關(guān)系運(yùn)算符-

關(guān)系運(yùn)算示例

序號(hào)運(yùn)算符和說(shuō)明
1

<

小于

2

<=

小于或等于

3

>

大于

4

>=

大于或等于

5

==

等于

6

~=

不等于

邏輯運(yùn)算符

MATLAB提供兩種類(lèi)型的邏輯運(yùn)算符和函數(shù)-

  • 元素級(jí)-這些運(yùn)算符對(duì)邏輯數(shù)組的相應(yīng)元素進(jìn)行操作。

  • 短路-這些運(yùn)算符對(duì)標(biāo)量和邏輯表達(dá)式進(jìn)行運(yùn)算。

逐個(gè)元素的邏輯運(yùn)算符在邏輯數(shù)組上逐個(gè)元素地進(jìn)行操作。符號(hào)&,|和?是邏輯數(shù)組運(yùn)算符AND,OR和NOT。

短路邏輯運(yùn)算符允許邏輯運(yùn)算短路。符號(hào)&&和|| 是邏輯短路運(yùn)算符AND和OR。

邏輯運(yùn)算示例

按位運(yùn)算

按位運(yùn)算符對(duì)位進(jìn)行運(yùn)算并執(zhí)行逐位運(yùn)算。&,|和^的真值表如下-

pqp&qp | qp ^ Q
00000
01011
11110
10011

假設(shè)A = 60; 和B = 13; 現(xiàn)在以二進(jìn)制格式,它們將如下所示-

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

?A = 1100 0011

MATLAB為按位運(yùn)算提供了各種功能,例如``按位與'',``按位或''和``按位非''運(yùn)算,移位運(yùn)算等。

下表顯示了常用的按位運(yùn)算-

按位運(yùn)算示例

函數(shù)
作用
bitand(a, b)

整數(shù) a 和 b 的位與

bitcmp(a)

a的逐位補(bǔ)碼

bitget(a,pos)

在整數(shù)數(shù)組a的指定位置獲取位

bitor(a, b)

整數(shù)a和b的位或

bitset(a, pos)

將bit設(shè)置為a的特定位置pos

bitshift(a, k)返回一個(gè)由向左移動(dòng)?比特,相當(dāng)于乘以2 ?。k的負(fù)值對(duì)應(yīng)于右移位或除以2 | k | 并朝負(fù)無(wú)窮大四舍五入到最接近的整數(shù)。任何溢出位都將被截?cái)唷?/span>
bitxor(a, b)

整數(shù) a 和 b 的位異或

swapbytes

整數(shù) a 和 b 的位異或

集合運(yùn)算符

MATLAB提供了用于集合操作的各種功能,例如聯(lián)合,交集和集合成員資格的測(cè)試等。

下表顯示了一些常用的設(shè)置操作-

集合運(yùn)算示例

序號(hào)功能說(shuō)明
1

intersect(A,B)

設(shè)置兩個(gè)數(shù)組的交集;返回A和B的公共值。返回的值按順序排列。

2

intersect(A,B,'rows')

將A的每一行和B的每一行視為單個(gè)實(shí)體,并返回A和B共用的行。返回矩陣的行按排序順序排列。

3

ismember(A,B)

返回一個(gè)與A大小相同的數(shù)組,其中包含1(true),其中A的元素位于B中。在其他位置,它返回0(false)。

4

ismember(A,B,'rows')

將A的每一行和B的每一行視為單個(gè)實(shí)體,并返回一個(gè)包含1的向量(true),其中矩陣A的行也是B的行。在其他地方,它返回0(false)。

5

issorted(A)

如果元素按排序順序排列,則返回邏輯1(true),否則返回邏輯0(false)。輸入A可以是向量,也可以是N×1或1×N的字符串單元格數(shù)組。如果A和sort(A)的輸出相等,則認(rèn)為A被排序。

6

issorted(A, 'rows')

如果二維矩陣A的行按排序順序排列,則返回邏輯1(true),否則返回邏輯0(false)。如果A和sortrows(A)的輸出相等,則認(rèn)為矩陣A是排序的。

7

setdiff(A,B)

設(shè)置兩個(gè)數(shù)組的差值;返回A中不在B中的值。返回?cái)?shù)組中的值按排序順序排列。

8

setdiff(A,B,'rows')

將A的每一行和B的每一行視為單個(gè)實(shí)體,并返回A中不在B中的行。返回矩陣的行按排序順序排列。

“rows”選項(xiàng)不支持單元格數(shù)組。

9

setxor

兩個(gè)數(shù)組的異或

10

union

兩個(gè)數(shù)組的并集

11

unique

數(shù)組中的唯一值

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清