piecewise - 区分的連続関数(ピースワイズ関数)
使い方
piecewise(cond_1, f_1, cond_2, f_2, ..., cond_n, f_n, f_otherwise)
パラメータ
f_i - 数式
cond_i - 関係式、または、不等式のブールによる組み合わせ
f_otherwise - (オプション) デフォルトの数式
|
説明
|
|
•
|
piecewise 関数を使うと、区分的連続関数を表すことができます。これは条件記述のような意味になります。: cond_1 が true なら f_1、その他で cond_2 が true なら f_2、...などとなります。f_otherwise はすべての状態 (condition) が false になった場合の、デフォルト値を与えます。f_otherwise に対するデフォルト値は、0 です。
|
•
|
状態 (condition) は、1 つの等式や不等式か、不等式のブールによる組み合わせとなります。; 例えば、x<3 や x>0 and x<=Pi です。等式は、ブール式とともに使うことができません。状態 (condition) は、多項式や、abs, signum, piecewise 関数を使った関係式で表すこともできます。; 例えば、x^2-4>0 and x>0 や abs(x)<4 です。すべての場合、x は実数変数であると仮定しています。
|
•
|
piecewise 関数は、微分、積分、簡単化、プロットを行うことができます。また、次のタイプの微分方程式で使われます。: 定数係数で不連続な摂動関数、一般的な 1 次の線形微分方程式、リカッチ微分方程式、積分やパラメータの変動で扱われるいくつかの他の階級の微分方程式。詳しくは、dsolve[piecewise] を参照してください。また、series, limit, abs もsignum も piecewise 関数を扱うことができます。
|
•
|
状態 (condition) にパラメータが含まれるなら、システムは計算を実行するために必要な仮定を、要求します。例えば、piecewise(a*x<1,f(x)) は、Mapleが assume システムを使い、a が正か負かを決めるまで、操作されません。コンテクスト・メニューの "What Assumptions" を参照ください。
|
•
|
piecewise 関数の Heavisede 関数を含む式への変換や、その逆を行う convert プロシージャが存在します。piecewise 関数はまた、pwlist と呼ばれるリスト表現に変換することもできます。abs や signum を含む式は、piecewise 関数に変換することができます。
|
|
|
例
|
|
簡単な piecewise 関数
| (2.1) |
>
|
piecewise(x*x>4 and x<8,f(x));
|
| (2.2) |
| (2.3) |
状態 (condition) にパラメータをもつ piecewise 関数
>
|
assume(a<b,b<c);
piecewise(x>a and x< b,1,x>b and x<c,2);
|
| (2.4) |
>
|
convert(%,piecewise,x);
|
| (2.5) |
piecewise 関数の評価
>
|
f:=x->piecewise(x<0,-1,x<1,0,1);
|
| (2.6) |
| (2.7) |
piecewise 関数を含む式を簡単化できます。
>
|
p := piecewise(x<0,-x,x>0,x);
|
| (2.8) |
| (2.9) |
p は 1 つの変数しか持たないので、直接簡単化できます
| (2.10) |
しかしながら、piecewise関数がパラメータを含むなら、
>
|
p := piecewise(x<a,x,x>b,x*x);
|
| (2.11) |
直接簡単化を行うことはできません
| (2.12) |
convert/piecewiseを使い、メイン変数 x に関して、簡単化しなくてはなりません。
>
|
convert(%,piecewise,x);
|
| (2.13) |
>
|
assume(a<0);
piecewise(x*a-2>0,1,2);
|
| (2.14) |
>
|
convert(%,piecewise,x);
|
| (2.15) |
|
|