English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB 运算子

演算子は特定の数学的または論理的操作を実行するためのシンボルです。MATLABは主に全体の行列と配列上で動作するように設計されています。したがって、MATLABの演算子はスカラーデータだけでなく、非スカラーデータも処理できます。MATLABでは以下の基本演算が許可されています-

  • 算術演算子

  • 関係演算子

  • 論理演算子

  • ビット演算子

  • 集合演算子

算術演算子

MATLABは異なる種類の算術演算を許可しています-

  • 行列の算術演算

  • 配列の算術演算

行列の算術演算は線形代数で定義されたものと同じです。配列操作は一次元および多次元配列の各要素に対して逐次実行されます。

行列演算子と配列演算子はピリオド(。)記号で区別されます。しかし、行列と配列の加算および減算演算が同じであるため、両方のケースで演算子は同じです。以下の表は演算子を簡単に紹介しています-

算術演算子の例

番号演算子と説明
1

+

加法または一元プラス記号。A+Bは変数AとBに格納されている値を足します。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい。スカラーはどのサイズの行列にも加えることができます

2

-

減法または一元減法。A-BはAからBの値を引きます。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい。スカラーはどのサイズの行列からも引き取れます

3

*

行列の乗算。C=A*Bは行列AとBの線形代数の積です。より正確には、

非スカラーのAとBの場合、Aの列数はBの行数と一致する必要があります。スカラーはどのサイズの行列とも乗算できます

4

.*

配列の乗算。A.*Bは配列AとBの要素ごとの積です。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい

5

/

スラッシュまたは行列の右除算。B/AとB*inv(A)は大まかに同じです。より正確には、B/A = (A'\B')'.

6

./

配列の右除算。A./Bは要素A(i,j)/B(i,j)の行列。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい

7

\

反斜杠または行列の左除算。Aが正方行列の場合、A\Bはinv(A)*Bは大まかに同じですが、計算方法が異なります。Aがn×nの行列で、Bがnつの成分を含む列ベクトルまたはそのような列を含む行列の場合、X=A\Bは方程式AX=Bの解です。Aが非常に比例しているかほぼ単数の場合、警告メッセージが表示されます

8

.\

配列の左除算。A.\Bは要素B(i,j)/A(i,j)の行列。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい

9

^

行列の乗方。pがスカラーの場合、X^pはpの乗方です。pが整数の場合、乗方は平方の繰り返し計算で行われます。整数が負数の場合、Xはまず逆数にされます。pの他の値の場合、計算には特異値と特異ベクトルが関わるため、[V,D]=eig(X)の場合、X^p=V*D.^p/V。

10

^.

配列の乗方。A.^Bは要素A(i,j)がB(i,j)乗の行列です。AとBは同じサイズでなければなりませんが、そのうちの1つがスカラーであればよい

11

'

行列の転置。A'はAの線形代数の転置です。複素行列の場合、これは複素共役転置です

12

.'

配列の転置 a’はaの配列の転置です。複雑な行列の場合、これは共役を伴いません

関係演算子

関係演算子はまた、スカラーと非スカラーデータを処理できます。配列の関係演算子は、2つの配列間の逐要素比較を実行し、同じサイズの論理配列を返し、要素は論理1(true),関係がtrueである場合、要素は論理0(false)に設定されます。違います。

以下の表はMATLABで使用できる関係演算子を示しています-

関係演算の例

番号演算子と説明
1

<

小さい

2

<=

小さいかつ等しい

3

>

大きい

4

>=

大きくとも等しい

5

==

等しい

6

~=

不等于

論理演算子

MATLABは二つの種類の論理演算子と関数を提供しています-

  • 要素レベル-これらの演算子は論理配列の対応する要素に対して操作を行います。

  • ショートカット-これらの演算子はスカラと論理式に対して演算を行います。

逐次要素の論理演算子は論理配列上の各要素に対して逐次に操作します。符号&、|、〜は論理配列演算子AND、OR、NOTです。

ショートカット論理演算子は論理演算をショートカットします。符号&&と||は論理ショートカット演算子ANDとORです。

論理演算の例

ビット演算

ビット演算子は位に対して演算を行い、逐位演算を実行します。&、|、^の真値表は以下の通りです-

pqp&qp | qp ^ Q
00000
01011
11110
10011

A = 60; 和B = 13; 現在の二進数形式では、以下のようになります-

A = 0011 1100

B = 0000 1101

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

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

〜A = 1100 0011

MATLABは、ビット演算のために様々な機能を提供しています。例えば、ビットAND、ビットOR、ビットNOT演算、シフト演算などがあります。

以下のテーブルは、一般的に使用されるビット演算を示しています-

ビット演算の例

関数
作用
bitand(a, b)

整数aとbのビットと

bitcmp(a)

aの逐位補码

bitget(a,pos)

整数配列aの指定位置からビットを取得します

bitor(a, b)

整数aとbのビット或

bitset(a, pos)

bitをaの特定位置posに設定します

bitshift(a, k)返します左に移動ķビット、乗算に等しい2 ķkの負値は、右シフト位または除算に対応します。2 | k | 並びに負の無限大に四捨五入して最も近い整数にします。任何溢出位都将被截断。
bitxor(a, b)

整数aとbのビット異或

swapbytes

整数aとbのビット異或

集合演算子

MATLABは、合併、交差点、集合メンバーのテストなどの集合操作に使用される様々な機能を提供しています。

以下のテーブルは、一般的に使用される設定操作を示しています-

集合演算の例

番号機能説明
1

intersect(A,B)

二つの配列の交差点を設定します;AとBの公共値を返します。返される値は順序に並べ替えられます。

2

intersect(A,B,'rows')

Aの各行とBの各行を単一のエンティティとして見なし、AとBが共有する行を返します。返される行列の行はソート順に並べ替えられます。

3

ismember(A,B)

Aのサイズと同じ配列を返します。その中には含まれています1(true),Aの要素がBに位置している場合。他の場所では、0(false)を返します。

4

ismember(A,B,'rows')

Aの各行とBの各行を単一のエンティティとして見なし、含む1のベクター(true)、其中行列Aの行もBの行です。他の場所では、0(false)を返します。

5

issorted(A)

要素がソート順に並べ替わっている場合、論理値を返します。1(true)の場合は、Aがベクターであり、N×の文字列セル配列の入力が可能です。1または1×Nの文字列セル配列。Aとsort(A)の出力が一致するときに、Aがソートされていると見なされます。

6

issorted(A, 'rows')

二次元マトリックスAの行がソート順に並べ替えられている場合、論理値を返します。1(true)の場合は、Aとsortrows(A)の出力が一致するときに、マトリックスAがソートされていると見なされます。

7

setdiff(A,B)

二つの配列の差を設定し、Bに存在しないAの値を返します。配列の値はソート順に並べ替えられます。

8

setdiff(A,B,'rows')

Aの各行とBの各行を単一のエンティティとして見なし、Bに存在しないAの行を返します。行列の行はソート順に並べ替えられます。

「rows」オプションはセル配列にはサポートされません。

9

setxor

二つの配列のXOR

10

union

二つの配列の和集合

11

unique

配列のユニークな値