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

sympref

シンボリック設定の指定

説明

oldVal = sympref(pref,value) は、シンボリック設定 prefvalue に指定し、oldVal の以前の設定値を返します。sympref(pref,'default') を使用して設定を既定の値に設定することができます。

シンボリック設定は、シンボリック関数 fourierifourierheaviside の計算およびシンボリック出力の表示形式に影響を与えます。

oldVal = sympref(pref) は、pref の現在の値を返します。

oldPrefs = sympref(prefs) は、複数のシンボリック設定を構造体 prefs の値に設定し、すべての設定の以前の値を oldPrefs に返します。sympref('default') を使用して、すべてのシンボリック設定を既定の値に設定できます。

oldPrefs = sympref() はすべてのシンボリック設定の現在の値を返します。

メモ

シンボリック設定は、連続する複数の MATLAB® セッションを通じて維持されます。新しいセッションを開いても、既定の設定に戻りません。

すべて折りたたむ

f = f(t) のフーリエ変換 F(w) は次のとおりです。

F(w)=cf(t)eiswtdt,

ここで、c および s はそれぞれの既定値が 1 と -1 のパラメーターです。その他の c の一般的な値は 1/2π と 1/2πs については 1、-2π および 2π です。

cs パラメーターの既定値における sin(t) のフーリエ変換を求めます。

syms t w
F = fourier(sin(t),t,w)
F =
-pi*(dirac(w - 1) - dirac(w + 1))*1i

c = 1/(2π)s = 1 について、同様のフーリエ変換を求めます。'FourierParameters' 設定を使用してパラメーター値を設定します。sym を使用して π を厳密に表します。cs の値を、ベクトル [1/(2*sym(pi)) 1] に指定します。sympref によって返された以前の値を、後でその値に戻せるように保存します。

oldVal = sympref('FourierParameters',[1/(2*sym(pi)) 1])
F = fourier(sin(t),t,w)
oldVal =
[ 1, -1]

F =
(dirac(w - 1)*1i)/2 - (dirac(w + 1)*1i)/2

sympref を使用して設定した内容は、現在およびこれ以降の MATLAB セッションを通じて維持されます。c および s の以前の値を oldVal に戻します。

sympref('FourierParameters',oldVal);

また、'default' オプションを指定して、cs 既定値に戻すこともできます。

sympref('FourierParameters','default');

Symbolic Math Toolbox™ では、原点におけるヘヴィサイド関数の既定値は 1/2 です。heaviside(0) の値を返します。heaviside(0) のこの既定値について、heaviside(x) の Z 変換を求めます。

syms x
H = heaviside(sym(0))
Z = ztrans(heaviside(x))
H =
1/2

Z =
1/(z - 1) + 1/2

その他の、原点におけるヘヴィサイド関数の一般的な値は 0 と 1 です。'HeavisideAtOrigin' 設定を使用して、heaviside(0)1 に設定します。sympref によって返された以前の値を、後でその値に戻せるように保存します。

oldVal = sympref('HeavisideAtOrigin',1)
oldVal =
1/2

heaviside(0) の新しい値が 1 であるかどうかをチェックします。この値の heaviside(x) の Z 変換を求めます。

H = heaviside(sym(0))
Z = ztrans(heaviside(x))
H =
1

Z =
1/(z - 1) + 1

heaviside(0) の新しい出力によって ztrans の出力が変わります。

sympref を使用して設定した内容は、現在およびこれ以降の MATLAB セッションを通じて維持されます。heaviside(0) の以前の値を oldVal に戻します。

sympref('HeavisideAtOrigin',oldVal);

また、'default' オプションを指定して、'HeavisideAtOrigin' の既定値に戻すこともできます。

sympref('HeavisideAtOrigin','default');

既定では、ライブ スクリプトのシンボリック式は略記された出力の形式および数学的表記で表示されます。シンボリック設定を使用して、略記された出力の形式と表記を無効にすることができます。

シンボリック式を作成し、既定で略記される出力を返します。

syms a b c d x 
f = a*x^3 + b*x^2 + c*x + d;
outputAbbrev = sin(f) + cos(f) + tan(f) + log(f) + 1/f
outputAbbrev = 

cos(σ1)+log(σ1)+sin(σ1)+tan(σ1)+1σ1where  σ1=ax3+bx2+cx+d

'AbbreviateOutput' の設定を false にすることで、略記された出力の形式を無効にします。式を再表示します。

sympref('AbbreviateOutput',false);
outputLong = sin(f) + cos(f) + tan(f) + log(f) + 1/f
outputLong = 

cos(ax3+bx2+cx+d)+log(ax3+bx2+cx+d)+sin(ax3+bx2+cx+d)+tan(ax3+bx2+cx+d)+1ax3+bx2+cx+d

別のシンボリック式を作成し、既定で数学的表記が行われる出力を返します。レンダリングされた出力を無効化して代わりに ASCII 出力を使用するには、 'TypesetOutput' の設定を false に設定します。まず整形された出力を表示します。

syms a b c d x 
f = exp(a^b)+pi
f = π+eab

'TypesetOutput' 設定を false に設定して表記を無効にします。式を再表示します。

sympref('TypesetOutput',false);
f = exp(a^b)+pi
 
f =
 
pi + exp(a^b)
 

sympref を使用して設定した内容は、現在およびこれ以降の MATLAB セッションを通じて維持されます。また、'default' オプションを指定して、'AbbreviateOutput''TypesetOutput' を既定値に戻します。

sympref('AbbreviateOutput','default');
sympref('TypesetOutput','default');

シンボリックな結果を、小数点以下 4 桁の短い固定 10 進数形式である浮動小数点出力形式で表示します。

2 次方程式を作成します。

syms x
eq = x^2 - 2e3/sym(pi)*x + 0.5 == 0
eq = 

x2-2000xπ+12=0

solveを使用して、方程式の解を求めます。

sols = solve(eq,x)
sols = 

(-22000000-π2-20002π22000000-π2+20002π)

'FloatingPointOutput' の設定を true に設定します。2 次方程式とその解を浮動小数点形式で表示します。

sympref('FloatingPointOutput',true);
eq
eq = x2-636.6198x+0.5000=0
sols
sols = 

(7.8540e-04636.6190)

浮動小数点形式は、各シンボリック数を小数点以下 4 桁の短い固定 10 進数形式で表示します。'FloatingPointOutput' 設定を行っても、シンボリック計算の浮動小数点精度には影響しません。浮動小数点演算を使用してシンボリック数を計算するには、関数 vpa を使用します。

ここで 'default' オプションを指定して、'FloatingPointOutput' の既定値に戻します。vpaを使用して、解の浮動小数点近似を有効桁数 8 桁で計算します。

sympref('FloatingPointOutput','default');
sols = vpa(sols,8)
sols = 

(0.00078539913636.61899)

複数の変数で構成されるシンボリックな多項式を作成します。多項式を既定の次数で表示します。

syms x y a b
p1 = b^2*x^2 + a^2*x + y^3 + 2
p1 = a2x+b2x2+y3+2

既定のオプションでは、出力は、各単項式項の異なるシンボリック変数を区別せずにアルファベット順に並べ替えられます。

次に、'PolynomialDisplayStyle' の設定を 'ascend' に指定し、同じ多項式を昇順で表示します。

sympref('PolynomialDisplayStyle','ascend');
p1
p1 = 2+y3+a2x+b2x2

'ascend' オプションは、変数の重要度に基づいて、出力を昇順で並べ替えます。ここでは、単項式項の最高次数をもつ最も重要な変数 x が最後に表示されます。

'PolynomialDisplayStyle' の設定を 'descend' に指定し、多項式を降順で表示します。

sympref('PolynomialDisplayStyle','descend');
p1
p1 = b2x2+a2x+y3+2

sympref を使用して設定した内容は、現在およびこれ以降の MATLAB セッションを通じて維持されます。'default' オプションを指定して、'PolynomialDisplayStyle' の既定値に戻します。

sympref('PolynomialDisplayStyle','default');

既定では、ライブ スクリプトでのシンボリック行列はかっこ内に設定されます。sympref を使用して、代わりに大かっこの使用を指定できます。

シンボリックな変数および数値から成るシンボリック行列を作成します。

syms x y
A = [x*y, 2; 4, y^2]
A = 

(xy24y2)

'MatrixWithSquareBrackets' の設定を true に指定し、大かっこを使用する行列を表示します。

sympref('MatrixWithSquareBrackets',true);
A
A = 

[xy24y2]

sympref を使用して設定した内容は、現在およびこれ以降の MATLAB セッションを通じて維持されます。既定値に戻すには 'default' オプションを指定します。

sympref('MatrixWithSquareBrackets','default');

個々の設定を 1 つずつ保存し復元する代わりに、sympref を使用して、すべてのシンボリック設定を同時に保存したり復元したりできます。

sympref() を使用して、すべてのシンボリック設定の値を含む構造体を返します。

oldPrefs = sympref()
oldPrefs = 

  struct with fields:

           FourierParameters: [1×2 sym]
           HeavisideAtOrigin: [1×1 sym]
            AbbreviateOutput: 1
               TypesetOutput: 1
         FloatingPointOutput: 0
      PolynomialDisplayStyle: 'default'
    MatrixWithSquareBrackets: 0

構造体のフィールドを指定して、各シンボリック設定の値にアクセスします。代わりに、コマンド sympref(pref) を使用することができます。

val1 = oldPrefs.FourierParameters
val2 = oldPrefs.HeavisideAtOrigin
val3 = sympref('FourierParameters')
val1 =
[ 1, -1]

val2 =
1/2

val3 =
[ 1, -1]

複数のシンボリック設定を同時に変更するために、設定値を含む構造体 prefs を作成できます。コマンド sympref(prefs) を使用して複数の設定を指定します。

prefs.FourierParameters = [1/(2*sym(pi) 1]
prefs.HeavisideAtOrigin = 1
sympref(prefs);

シンボリック設定が現在およびこれ以降の MATLAB セッションを通じて維持されるため、以前の設定を復元する必要があります。sympref(oldPrefs) を使用して、保存されている設定を復元します。

sympref(oldPrefs);

また、'default' オプションを指定して、すべてのシンボリック設定をその既定値に設定することもできます。

sympref('default');

入力引数

すべて折りたたむ

シンボリック設定。文字ベクトルまたは string として指定します。各シンボリック設定の value オプションを次に示します。

設定説明
'FourierParameters'

2 要素の行ベクトル [c,s]。パラメーター cs は、数値またはシンボリック数でなければなりません。

既定の設定: sym([1,-1])

以下のフーリエ変換のパラメーター c と s の値を設定します。

F(w)=cf(t)eiswtdt.

フーリエ変換のパラメーター値の変更を参照してください。

'HeavisideAtOrigin'

スカラー値。数値またはシンボリック数として指定します。

既定の設定: sym(1/2)

ヘヴィサイド関数 heaviside(0) の原点における値を設定します。

ヘヴィサイド関数の原点における値の変化を参照してください。

'AbbreviateOutput'

logical 値 (boolean)。

既定値: logical 1 (true)。

ライブ スクリプトのシンボリック変数とシンボリック式の略記された出力形式を使用するかどうかを指定します。

ライブ スクリプトでのシンボリック式の表示の変更を参照してください。

'TypesetOutput'

logical 値 (boolean)。

既定値: logical 1 (true)。

ライブ スクリプトのシンボリック変数と式の出力に対して、ASCII 文字で表記するか ASCII 文字を使用します。

ライブ スクリプトでのシンボリック式の表示の変更を参照してください。

'FloatingPointOutput'

logical 値 (boolean)。

既定値: logical 0 (false).

シンボリックな結果を浮動小数点出力形式で表示するかどうかを指定します。

true 値のオプションは、シンボリックな結果を小数点以下 4 桁の短い固定 10 進数形式で表示します。

浮動小数点形式でのシンボリックな結果の表示を参照してください。

'PolynomialDisplayStyle'

文字ベクトルまたはスカラー文字列。'default''ascend' または 'descend' として指定します。

既定の設定: 'default'

シンボリックな多項式を既定の順序、昇順、または降順で表示します。

  • 'default' オプションでは、出力は、各単項式項の異なるシンボリック変数を区別せずにアルファベット順に並べ替えられます。

  • 'ascend' オプションは、多項式の標準的表記に基づいて、出力を昇順で並べ替えます。たとえば、変数 yzts などを含む単項式項が先に、単項式項の最高次数をもつ変数 x は最後に表示されます。

  • 'descend' オプションは、多項式の標準の数学的表記に基づいて、出力を降順で並べ替えます。このオプションは、'ascend' と正反対です。

シンボリックな多項式の出力次数の変更を参照してください。

'MatrixWithSquareBrackets'

logical 値 (boolean)。

既定値: logical 0 (false).

ライブ スクリプトでは行列をかっこ内に設定します。

ライブ スクリプトでのシンボリック行列の表示の変更を参照してください。

シンボリック設定の値。'default' または指定された設定 pref の有効な値として指定します。

シンボリック設定。構造体配列として指定します。フィールド名と有効な設定値を宣言し、複数の設定を指定できます。

出力引数

すべて折りたたむ

シンボリック設定の値。有効な値として返されます。oldVal は、sympref を呼び出す前の設定 pref の既存の値を表します。

すべてのシンボリック設定。構造体配列として返されます。oldPrefs は、sympref を呼び出す前のすべての設定の既存の値を表します。

ヒント

  • clear コマンドが、シンボリック設定をリセットしたり、シンボリック設定に影響を与えることは "ありません"。シンボリック設定の操作には sympref を使用してください。

  • sympref を使用して指定したシンボリック設定は、関数 latex および mathml によって生成された出力の決定も行います。

  • 'FloatingPointOutput' 設定を指定すると、シンボリック数の出力表示形式のみに影響を与えます。数値の出力表示形式を変更するには、関数 format を使用します。浮動小数点精度を使用してシンボリック数を計算するには、関数 vpa または関数 digits を使用します。

R2015a で導入