Main Content

in

シンボリック入力の数値型

説明

in(x,type)x は指定された type であるという論理条件を示します。

シンボリック変数または式の条件を表す

構文 in(x,type) は、x が指定された type であるという条件を表します。x の型が Real であるという条件を表します。

syms x
cond = in(x,'real')
cond =
in(x, 'real')

isAlways を使用して条件を評価します。isAlways は条件を判断できないので、警告を発し、logical 0 (false) を返します。

isAlways(cond)
Warning: Unable to prove 'in(x, 'real')'.

ans =
  logical
     0

assume を使用して条件 cond が正しいと仮定し、条件を再度評価します。関数 isAlways は logical 1 (true) を返し、条件が正しいことを示します。

assume(cond)
isAlways(cond)
ans =
  logical
     1

後の計算で x を使用するには、syms を使用して再作成することでその仮定を消去します。

syms x

条件を出力に表す

solve などの関数は、出力で in を使用して条件を表します。

solve を使用して方程式 sin(x) == 0 を解きます。オプション ReturnConditionstrue に設定して解の条件を返すようにします。関数 solvein を使用して条件を表します。

syms x
[solx, params, conds] = solve(sin(x) == 0,'ReturnConditions',true)
solx =
pi*k

params =
k

conds =
in(k, 'integer')

解は pi*k で、パラメーター kin(k,'integer') という条件下にあります。この条件を使用して、後の計算に仮定を設定することができます。この仮定の下で、solvek の整数値のみを返します。

assume(conds)
k = solve(solx > 0, solx < 5*pi, params)
k =
 1
 2
 3
 4

k のこれらの値に対応する解を求めるには、solx において k の代わりに subs を使用します。

subs(solx,k)
ans =
   pi
 2*pi
 3*pi
 4*pi

k の仮定を消去して、後の計算で使用できるようにします。

assume(params, 'clear')

シンボリック行列の要素が有理数であるか調べる

シンボリック行列 M を作成します。

syms x y z
M = sym([1.22 i x; sin(y) 3*x 0; Inf sqrt(3) sym(22/7)])
M =
[  61/50,      1i,    x]
[ sin(y),     3*x,    0]
[    Inf, 3^(1/2), 22/7]

isAlways を使用して、M の要素が有理数かどうかをテストします。関数 inM の要素ごとに調べます。isAlways は判断できないステートメントに対して logical 0 (false) を返し、それらのステートメントについて警告を発します。

in(M,'rational')
ans =
[  in(61/50, 'rational'),      in(1i, 'rational'),    in(x, 'rational')]
[ in(sin(y), 'rational'),     in(3*x, 'rational'),    in(0, 'rational')]
[    in(Inf, 'rational'), in(3^(1/2), 'rational'), in(22/7, 'rational')]
isAlways(in(M,'rational'))
Warning: Unable to prove 'in(sin(y), 'rational')'.
Warning: Unable to prove 'in(3*x, 'rational')'.
Warning: Unable to prove 'in(x, 'rational')'.
ans =
  3×3 logical array
   1   0   0
   0   0   1
   0   0   1

入力引数

すべて折りたたむ

シンボリック数、シンボリック ベクトル、シンボリック行列、シンボリック多次元配列、シンボリック式またはシンボリック関数で指定される入力。

入力タイプ。'real''positive''integer'、または 'rational' で指定します。

バージョン履歴

R2014b で導入