最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

isAlways

方程式または不等式を変数のすべての値に適用できるかどうかをチェック

isAlways は決定不可能な入力に対して false を返す際、警告を発します。警告が出ないようにするには、isAlways(cond,'Unknown','false') のように Unknown オプションを false に設定します。詳細は、決定不可能条件に対する出力処理を参照してください。

説明

isAlways(cond) は、条件 condcond のシンボリック変数のすべての値で有効かどうかをチェックします。cond を検証する際、関数 isAlwayscond の変数に対しあらゆる仮定を考慮します。条件が成り立つ場合、isAlways は logical 1 (true) を返します。その他の場合は logical 0 (false) を返します。

isAlways(cond,Name,Value) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを使用します。

テスト条件

次の不等式が x のすべての値で有効かどうかをチェックします。

syms x
isAlways(abs(x) >= 0)
ans =
  logical
   1

isAlways は、logical 1 (true) を返し、不等式 abs(x) >= 0x のすべての値で有効であることを示します。

次の方程式が x のすべての値で有効かどうかをチェックします。

isAlways(sin(x)^2 + cos(x)^2 == 1)
ans =
  logical
   1

isAlways は、logical 1 (true) を返し、この方程式が x のすべての値で有効であることを示します。

複数の条件のいずれか 1 つが有効かどうか調べる

2 つの条件のうち、少なくとも一方が有効であるかどうかをチェックします。複数の条件のうち少なくとも 1 つが有効であることをチェックするには、論理演算子 or またはそのショートカット | を使用して、条件を組み合わせます。

syms x
isAlways(sin(x)^2 + cos(x)^2 == 1 | x^2 > 0)
ans =
  logical
   1

両方の条件が有効であるかチェックします。複数の条件が有効であることをチェックするには、論理演算子 and またはそのショートカット & を使用して、条件を組み合わせます。

isAlways(sin(x)^2 + cos(x)^2 == 1 & abs(x) > 2*abs(x))
ans =
  logical
   0

決定不可能条件に対する出力処理

以下の条件をテストします。isAlways は、条件が有効であることを判断できない場合、既定では logical 0 (false) を返して警告を発します。

syms x
isAlways(2*x >= x)
Warning: Unable to prove 'x <= 2*x'.
ans =
  logical
   0

この既定の動作を変更するには、Unknown を使用します。たとえば、条件の有効性を判断できない場合に警告を抑制し、isAlways が logical 0 (false) を返すようにするには、Unknownfalse に指定します。

isAlways(2*x >= x,'Unknown','false')
ans =
  logical
   0

false の代わりに、error を指定してエラーを返したり、true を指定して logical 1 (true) を返すようにも設定できます。

仮定を使用した条件のでテスト

x が負であるという仮定の下で、次の不等式をチェックします。isAlways が方程式または不等式をテストする場合、その方程式または不等式の変数に対する仮定が考慮されます。

syms x
assume(x < 0)
isAlways(2*x < x)
ans =
  logical
   1

計算を続けるため、x に設定された仮定を syms を使用して再作成することで消去します。

syms x

入力引数

すべて折りたたむ

チェックする条件。シンボリックな条件、あるいはシンボリックな条件のベクトル、行列、または多次元配列として指定します。

名前と値のペアの引数

引数 Name,Value のオプションのコンマ区切りペアを指定します。Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: isAlways(cond,'Unknown',true) は、指定された条件が決定不可能な場合に isAlways が logical 1 (true) を返すようにします。

決定不可能条件に対する戻り値。'Unknown' とこれらのいずれかの値から成るコンマ区切りのペアとして指定します。

falseWithWarning (既定値)決定不可能な入力に対しては logical 0 (false) および論証不能警告を返します。
false決定不可能な入力に対して logical 0 (false) を返します。
true決定不可能な入力に対して logical 1 (true) を返します。
error決定不可能な入力に対してエラーを返します。
R2012a で導入