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

MATLAB 論理演算

Matlab 演算子

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

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

  • 短絡-これらの演算子はスカラー論理表現に対して演算を行います。

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

短絡論理演算子は論理演算の短絡を許可します。記号&&と||は論理短絡演算子ANDとORです。

オンラインサンプル

スクリプトファイルを作成し以下のコードを入力します-

a = 5;
b = 20;
   if ( a && b )
      disp('行 1 - 条件が真');
   終了
   if ( a || b )
      disp('行 2 - 条件が真');
   終了
   
   % lets change the value of  a and b 
   a = 0;
   b = 10;
   
   if ( a && b )
      disp('行 3 - 条件が真');
   else
      disp('行 3 - 条件が真でない');
   終了
   
   if (~(a && b))
   
      disp('行 4 - 条件が真');
   終了
ファイルを実行すると、以下の結果が生成されます-
行 1 - 条件が真
行 2 - 条件が真
行 3 - 条件が真でない
行 4 - 条件が真

論理演算関数

上記の論理演算子以外に、MATLABは同じ目的の以下の命令や関数を提供しています-

番号機能説明
1

and(A, B)

配列またはスカラー入力の論理ANDを検索します;入力配列A、Bなどに対して論理ANDを実行し、論理1(true)または論理0(false)の要素を持つ配列です。もし全ての入力配列が同じ配列位置に非零の要素を含む場合、出力配列の要素は1それ以外の場合、その要素は0に設定されます。

2

not(A)

配列またはスカラー入力の論理否定を検索します;入力配列Aに対して論理否定を実行し、論理1(true)または論理0(false)の要素を持つ配列です。もし入力配列が同じ配列位置にゼロ値の要素を含む場合、出力配列の要素は1それ以外の場合、その要素は0に設定されます。

3

or(A, B)

配列またはスカラー入力の論理またはを検索します;入力配列A、Bなどに対して論理またはを実行し、論理1論理真(true)または論理0(false)の要素を持つ配列です。もし何かの入力配列が同じ配列位置に非零の要素を含む場合、出力配列の要素は1それ以外の場合、その要素は0に設定されます。

4

xor(A, B)

論理異或;配列AとBの対応する要素に対して異或演算を実行します。A(i,j,...)またはB(i,j,...)が非零であるが、両方とも非零でない場合。

5

all(A)

配列Aのすべての要素が非ゼロまたはtrueであるかを確認します。

  • Aがベクトルの場合、all(A)はすべての要素が0でない場合、論理1(真)を返します。一つか複数の要素が0の場合、論理0(偽)を返します。

  • Aが非空行列の場合、Aall(A)の列をベクトルとして見なし、論理10の行ベクトルと一緒に。

  • Aが空の0×0行列の場合、all(A)は論理1(真)。

  • Aが多次元配列の場合、all(A)は最初の非単一次元で操作を実行し、論理値の配列を返します。そのサイズは减小されます。1、他のすべての次元のサイズは変更されません。

6

all(A, dim)

スカラーに沿ってdim指定されたAの次元をテストします。

7

any(A)

どの配列要素が非ゼロであるかを確認します;それ以外の場合、0です。配列の各次元の要素が非ゼロの数または論理1(true)を返します。any関数はNaN(非数字)エントリを無視します。

  • Aがベクトルの場合、Aのany(A)の要素が非ゼロの数または論理1(真)を返します。1(真)を返します。すべての要素が0の場合、論理0(偽)を返します。

  • Aが空の非空行列の場合、Aany(A)の列をベクトルとして見なし、論理10の行ベクトルと一緒に。

  • Aが空の0×0行列の場合、any(A)は論理0(偽)を返します。

  • Aが多次元配列の場合、any(A)は最初の非単一次元で操作を実行し、論理値の配列を返します。そのサイズは减小されます。1、他のすべての次元のサイズは変更されません。

8

any(A,dim)

スカラーに沿ってdim指定されたAの次元をテストします。

9

false

論理0(false)

10

false(n)

論理ゼロのnbynの行列です。

11

false(m, n)

論理ゼロのm×nの行列です。

12

false(m, n, p, ...)

論理ゼロのm×n×p×...の配列です。

13

false(size(A))

配列Aと同じサイズの論理ゼロの配列です。

14

false(...,'like',p)

pと同じデータ型とスパース性を持つ論理ゼロの配列です。

15

ind  = find(X)

非ゼロ要素のインデックスと値を検索します;配列Xのすべての非ゼロ要素を検索し、これらの要素がベクトル内での線形インデックスを返します。Xが行ベクトルの場合、返されるベクトルは行ベクトルです;それ以外の場合、Xを返します。それ以外の場合、列ベクトルを返します。Xに非ゼロ要素が含まれていないかまたは空の配列の場合、空の配列を返します。

16

ind = find(X, k)

ind = find(X, k, 'first')

Xの非ゼロエントリに対応する前k個のインデックスを返します。kは正の整数でなければなりませんが、どんな数字データ型でもできます。

17

ind = find(X, k, 'last')

X の非零要素に対応する最後の k 個のインデックスを返します。

18

[row,col] = find(X, ...)

X の非零要素の行インデックスと列インデックスを返します。稀疏行列を使用する場合、この文法が特に有用です。X が論理式の場合、v は論理配列です。 2N次元配列の場合、col には列の線形インデックスが含まれます。

19

[row,col,v] = find(X, ...)

X の非零要素の行ベクトル v と行および列のインデックスを返します。X が論理式の場合、v は論理配列です。出力 v には、式 X を評価して得た論理配列の非零要素が含まれます。

20

islogical(A)

入力が論理配列であるかどうかを確認します;A が論理配列である場合、true を返し、そうでない場合、false を返します。A が論理クラスから派生したクラスのインスタンスである場合も true を返します。

21

logical(A)

数値を論理値に変換します;論理インデックスや論理テストに使用できる配列を返します。

22

true

論理1(true)

23

true(n)

論理行列の n×n 行列です。

24

true(m, n)

論理行列の n×n 行列です。

25

true(m, n, p, ...)

m×n×p×…の論理配列の配列です。

26

true(size(A))

配列 A と同じサイズの論理配列です。

27

true(...,'like', p)

論理配列 p と同じデータ型とスパース性を持つ論理配列です。

Matlab 演算子