ドキュメンテーション センター

  • 評価版
  • 製品アップデート

このページは前リリースの情報です。該当の英語のページはこのリリースで更新されています。このリリースの英語のドキュメンテーションを参照するには、言語設定を United States に変更してください。

論理値の結果を出力する関数

概要

次の表は、論理値 true または false を返す MATLAB® 演算の一部を示したものです。論理値に対しては、ほとんどの算術演算を行うことはできません。

関数

演算

true, false

値を true または false に設定

logical

数値から論理値への変換

& (and), | (or), ~ (not), xor, any, all

論理演算

&&, ||

ショートサーキットの AND と OR

== (eq), ~= (ne), < (lt), > (gt), <= (le), >= (ge)

関係演算

すべての is* 関数、cellfun

テスト演算

strcmp, strncmp, strcmpi, strncmpi

文字列の比較

論理的な結果を返す関数の例

変数または式の状態を判定する MATLAB 関数では、論理値の結果が返されます。

A = isstrprop('abc123def', 'alpha')
A =
     1     1     1     0     0     0     1     1      1

xor のような論理関数は、論理値の結果を返します。

xor([1 0 'ab' 2.4], [ 0 0 'ab', 0])
ans =
     1     0     0     1

ただし、ビット単位演算子からは論理値は返されません。

X = bitxor(3, 12);
whos X
  Name      Size            Bytes  Class     Attributes

  X         1x1                 8  double

文字列の比較関数も、論理値を返します。

S = 'D:\matlab\mfiles\test19.m';
strncmp(S, 'D:\matlab', 9)
ans =
     1

要素単位とショートサーキットの論理演算子の違いに注意してください。&&|| などのショートサーキット演算子は、入力された式の必要な部分だけを評価します。この例の 2 つ目の部分では、A の状態のみで式が false であると決定されるので、B が未定義であっても構いません。

A = 0; A & B 関数または変数 'B' が未定義。

A && B ans = 0

無限ループを実装する 1 つの方法は、関数 while を論理定数 true と共に使用することです。

while true
a = [];  b = [];
a = input('Enter username: ', 's');

   if ~isempty(a)
   b = input('Enter password: ', 's');
   end

   if ~isempty(b)
   disp 'Attempting to log in to account ...'
   break
   end
end
この情報は役に立ちましたか?