Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Contents Previous Next Index
5 数学問題を解く
この章では、特定の数学分野における問題を解くことに重点を置きます。 以下に示した分野は、Maple が提供する分野のすべてではありませんが、最もよく使用されるパッケージを代表するものです。具体的な例を挙げて、チューター、アシスタント、コマンド、タスクテンプレート、プロット、コンテキストメニューを始めとする、Maple で利用可能なさまざまな計算法の使用方法を説明しています。
この章の例では、コマンドおよび数学記号の入力についての知識があることを前提としています。コマンドおよび数学記号の入力については、式の入力を参照してください。整数演算や方程式の解法などの基本的な計算については、計算の実行を参照してください。
5.1 この章の内容
セクション
トピック
代数 - 代数計算の実行
多項式代数
線形代数 - 線形代数計算の実行
行列およびベクトルの作成
行列およびベクトルのエントリの使用
線形代数計算
Student LinearAlgebra パッケージ
微積分 - 微積分計算の実行
極限
微分
級数
積分
微分方程式
微積分パッケージ
最適化 - Optimization パッケージを使用した最適化計算の実行
ポイントアンドクリックインターフェイス
効率的な計算
MPS(X) ファイルのサポート
統計 - Statistics パッケージを使用した統計計算の実行
確率分布および確率変数
統計計算
プロット
Maple を使用した学習 - Maple を学習で使用するための学習者および教員向けのリソース
教員および学習者向けのリソースの表
Student パッケージおよびチューター
- Maple のいくつかの対話的解決法による数学問題の解決
段階的解決の例
5.2 代数
Maple は、因数分解やモジュラー演算 (合同演算) など、整数演算を実行するさまざまなコマンドを提供しています (整数演算を参照)。また、多項式代数をサポートしています。
行列およびベクトル代数については、線形代数を参照してください。
Maple の多項式は、未知数の累乗を含む数式です。一変数多項式とは、 のように、未知数が 1 つの多項式です。多変数多項式とは、x のように、未知数が複数ある多項式です。
係数は、整数、有理数、無理数、浮動小数、複素数、変数のいずれか、またはこれらの組み合わせになります。
演算
多項式の演算子は、Maple 標準の演算子です。ただし、除算演算子 (/) を除きます (除算演算子を多項式の引数に使用することはできますが、多項式の除算は実行されません) 。
多項式の除算は、重要な演算です。quo コマンドおよび rem コマンドにより、多項式の除算の商と剰余を求めます。表 5.1 を参照してください。(iquo コマンドおよび irem コマンドにより、整数の除算の商と剰余を求めます。詳細については、整数演算を参照してください)
表 5.1 : 多項式演算の演算子
演算子
例
加算
減算
乗算
*
除算 : 商および剰余
quo
rem
累乗
^
* (2-D Math ではと表示されます) を入力することで、乗算を明示的に指定することができます。2-D Math では、2 つの数式の間に空白文字を挿入することで、乗算を暗黙的に実行することもできます。場合によっては、空白文字を省略できます。たとえば、Maple では、数値の後に名前が続く場合は、暗黙的乗算として処理されます。
2-D Mathでは、指数は上付き文字として表示されます。
多項式を展開するには、expand コマンドを使用します。
1つの多項式を別の多項式で除することができるかどうかを調べる場合に、商を求める必要がない場合は、divide コマンドを使用します。divideコマンドは、正確な多項式の除算が可能かどうかを検査します。
重要: 変数名の間には、空白文字または乗算演算子 () を挿入する必要があります。挿入していない場合は、1つの変数として処理されます。
たとえば、単一の変数 は で除算できません。
ただし、と の積は除算できます。
有限環および有限体での多項式演算については、?mod で表示されるヘルプページを参照してください。
項のソート
多項式の項をソートするには、sort コマンドを使用します。
注意 : sort コマンドは、ソート後の多項式を返し、多項式内の項の順序を変更します。
p1 の項がソートされます。
多項式の未知数およびその順序を指定するには、名前のリストを指定します。
デフォルトでは、sort コマンドは項の次数のの合計の降順に多項式をソートします。
最初の項の次数の合計は 4 です。 2 番目の項の次数の合計は 3 です。 最後の 2 つの項の順序は、リスト中での名前の順序で決定されます。
純辞書式で項をソートする、つまりリストオプション中で最初の未知数の降順でまずソートし、次にリストオプション中で次の未知数の降順でソートするには、'plex' オプションを使用します。
キーワードを囲む右単一引用符 (') については、評価の後回しを参照してください。
最初の項は、x の 3 乗です。 2 番目の項は、x の 2 乗です。 3 番目の項では、x の乗数は 0 です。
コンテキストメニューを使用して、ソートなどの処理を多項式などの Maple オブジェクトに対して実行することができます。
多項式をソートするには、以下の手順に従います:
1. 多項式を右クリック (Macintosh の場合は Control キーを押しながらクリック) します。
2. コンテキストメニューが表示されます。[ソート(Sorts)] メニューから以下のいずれかを選択します:
[1 変数(Single-variable)] を選択し、次に未知数を選択します。
[2 変数(Two-variable)] (または [3 変数(Three-variable)]、[純辞書式(Pure Lexical)] または [全次数(Total Degree)] のいずれかを選択し、次に未知数のソート順を選択します。
図 5.1 を参照してください。
図 5.1 : コンテキストメニューを使用した多項式のソート
多項式がソートされます。
ワークシートモードでは、ソートを実行する呼び出し手順に続けて、ソート後の多項式が挿入されます。
コンテキストメニューを使用して、2-D Math で処理を実行し出力することができます。詳細については、コンテキストメニュー (ドキュメントモードの場合) またはコンテキストメニュー (ワークシートモードの場合) を参照してください。
項をまとめる
多項式の項をまとめるには、collect コマンドを使用します。
係数および次数
Maple には、多項式の係数および次数を返すコマンドが複数あります。表 5.2 を参照してください。
表 5.2 : 多項式の係数および次数のコマンド
コマンド
説明
coeff
指定した項の係数
lcoeff
最高次の項の係数
tcoeff
定数項
coeffs
次数の昇順で示したすべての係数の数列
注意 : ゼロの係数は返しません。
degree
(最大の) 次数
ldegree
係数が 0 以外の項の最小次数
因数分解
多項式を完全に因数分解した形式で表すには、factor コマンドを使用します。
factor コマンドは、係数の示す環 (整数など) で多項式を因数分解します。多項式を因数分解する代数的数体を指定することができます。詳細については、?factor で表示されるヘルプページを参照してください。(ifactor コマンドは整数を因数分解します。詳細については、整数演算を参照してください。)
多項式の根を解くには、solve コマンドを使用します。solveコマンドの詳細については、方程式および不等式を解くを参照してください。(isolve コマンドは、方程式を解き、整数解を求めます。詳細については、整式を参照してください。)
その他のコマンド
表 5.3 に、多項式演算で使用できるその他のコマンドを示します。
表 5.3 : その他の多項式コマンド
content
成分 (多変数多項式)
compoly
分解
discrim
判別式
gcd
(2 つの多項式の) 最大公約式
gcdex
(2 つの多項式の) 拡張ユークリッド互除法
CurveFitting[PolynomialInterpolation]
カーブフィッティングアシスタント ( CurveFitting Assistant) ([ツール(Tools)] → [アシスタント(Assistants)] → [Curve Fitting]) も参照してください。
(点のリストのための) 補間多項式
lcm
(2 つの多項式の) 最小公倍式
norm
ノルム
EPROM
(2 つの多変数多項式の) 擬剰余
primpart
既約部分式 (多変数多項式)
randpoly
ランダム多項式
PolynomialTools[IsSelfReciprocal]
自己相反かどうかを特定
resultant
(2 つの多項式の) 終結式
roots
(代数的数体での) 厳密根
sqrfree
無平方分解 (多変数多項式)
参考
表 5.4 : 多項式に関するその他のヘルプ
リソース
多項式に関する一般情報
?polynom で表示されるヘルプページ
PolynomialTools パッケージ
?PolynomialTools パッケージの概要のヘルプページ
数値多項式の代数的操作
?SNAP (多項式の記号-数値アルゴリズム) パッケージの概要のヘルプページ
疎多項式の効率的な演算
?SDMPolynom (疎分布多変数多項式データ構造体) のヘルプページ
多項式の情報およびコマンド
Maple ヘルプシステムのコンテンツのテーブル: [Mathematics] → [Algebra] → [Polynomials]
5.3 線形代数
線形代数演算は、行列とベクトルのデータ構造体に対して実行されます。
を使用して、多くの線形代数演算を実行することができます。 Task Browser ([ツール(Tools)] → [タスク(Tasks)] → [参照(Browse)]) で、 Linear Algebra フォルダを展開します。
行列の作成
行列は、以下を使用して作成することができます:
Matrix コマンド
山括弧のショートカット表記
[行列] パレット (図 5.2 を参照してください).
Matrix コマンドを使用して行列を作成する際には、数種類の入力フォーマットが利用できます。たとえば、リストのリストを入力します。行列の次元は、入力されたエントリの数から推定されます。
あるいは、山括弧のショートカット (<>) を使用します。1 列内の各要素はコンマで区切り、各列は垂直線 ( | ) で区切ります。
Matrix コマンドのオプションについては、特定のプロパティを持った行列およびベクトルの作成を参照してください。
[行列(Matrix)] パレットを使用すれば、コマンドを入力することなく対話形式の操作で行列が作成できます:
図 5.2 : [行列(Matrix)] パレット
[行列(Matrix)] パレットで、行列のサイズ (図 5.3 を参照) およびプロパティを指定することができます。行列を挿入するには、[行列を挿入(Insert Matrix)] ボタンをクリックします。
図 5.3 : [行列(Matrix)] パレット: サイズの選択
行列を挿入したら、以下の手順に従います:
1. エントリの値を入力します。次のエントリのプレースホルダーに移動するには、Tab キーを押します。
2. すべてのエントリを指定したら、Enter キーを押します。
ベクトルの作成
ベクトルの作成には山括弧 (< >) を使用することができます。
列ベクトルを作成するには、<a, b, c> のようにコンマ区切りの式列を指定します。要素数は、数式の個数から推定されます。
行ベクトルを作成するには、数式の式列を縦線 (|) で区切って <a | b | c> のように指定します。要素数は、数式の個数から推定されます。
ベクトルコマンドのオプションについては、?Vector で表示されるヘルプページを参照してください。
[行列(Matrix)] パレットを使用してベクトルを作成することもできます。行数または列数のいずれかを 1 と指定すると、行列の挿入または希望の種類のベクトルの挿入のいずれかを選択することができます。図 5.4 を参照してください。
図 5.4: [行列を挿入(Insert Matrix)] または [ベクトルの挿入 (Insert Vector)]
大きな行列およびベクトルの表示
10×10 以下の大きさの行列と、要素数が 10 個以下のベクトルは、ドキュメント内で表示されます。それより大きなオブジェクトは、プレースホルダーとして表示されます。
たとえば、15×15 の行列を挿入します。
[行列(Matrix)] パレットで、以下の手順に従います:
1. 次元 (15 行 × 15 列) を指定します。
2. [行列のタイプ(Type)]ドロップダウンリストから、たとえば [ランダム(Random)] を選択します。
3. [行列を挿入(Insert Matrix)] をクリックします。プレースホルダーが挿入されます。
大きな行列またはベクトルを編集または表示するには、プレースホルダーをダブルクリックします。[行列を 参照(Matrix Browser)] が表示されます。図 5.5 を参照してください。
図 5.5 : 行列ブラウザ (Matrix Browser)
行列ブラウザを使用してエントリの値を指定するには、以下の手順に従います:
1. [テーブル(Table)] タブを選択します。
2. エントリをダブルクリックし、その値を編集します。Enter キーを押します。
3. 編集するエントリごとに、上記の手順を繰り返します。
4. エントリの更新が終了したら、[完了(Done)]をクリックします。
行列やベクトルを、ドキュメントに挿入可能な表または画像として表示することができます。
インライン表示時の行列およびベクトルの最大次元を設定するには、以下の手順に従います:
rtablesize オプションを指定して interface コマンドを実行します。
たとえば、interface(rtablesize = 15) のように使用します。
詳細については、?interface で表示されるヘルプページを参照してください。
特定のプロパティを持った行列およびベクトルの作成
デフォルトでは、行列およびベクトルには任意の値を格納することができます。線形代数計算の効率を向上するには、行列およびベクトルをプロパティ付きで作成します。オブジェクトの定義時に、行列またはベクトルのタイプ、データのタイプなどのプロパティを指定する必要があります。
[行列(Matrix)] パレット (図 5.2) は、複数のプロパティをサポートしています。
行列のタイプを指定するには、以下の手順に従います:
[形(Shape)] および [行列のタイプ(Type)] のドロップダウンリストを使用します。
データのタイプを指定するには、以下の手順に従います:
[データタイプ(Data type)] ドロップダウンリストを使用します。
たとえば、係数が小さな整数である対角行列を定義します。
1. 行列のサイズとして、たとえば、 を指定します。
2. [形(Shapes)] ドロップダウンリストから [対角(Diagonal)] を選択します。
3. [データタイプ(Data type)] ドロップダウンリストで、[integer[1]] を選択します。
4. [行列を挿入(Insert Matrix)] ボタンをクリックします。
5. 対角のエントリの値を入力します。
山括弧表記を使用してベクトルを定義する場合は、プロパティを指定できません。 Vector コンストラクタを使用する必要があります。
Vectorコンストラクタを使用して列ベクトルを定義するには、以下を指定します:
要素数。すべての要素の値を明示的に指定する場合は、引数は不要です。
要素の値を定義する数式のリスト。
shape、datatype、およびfill などの、ベクトルのプロパティを設定するパラメータ。
以下の 2 つの呼び出し手順は、同じ結果になります。
Vector コンストラクタを使用して行ベクトルを作成する場合は、インデックスとしてrow を指定します。
[行列(Matrix)] パレットは、一部のパラメータをサポートしていません。すべてのプロパティを設定するには、Matrix コンストラクタを使用します。
Matrix コンストラクタを使用して行列を定義するには、以下を指定します:
行数および列数。すべての要素の値を明示的に指定する場合は、引数は不要です。
行全体の要素の値を定義するリストのリスト。
shape、datatype、およびfill などの、行列のプロパティを設定するパラメータ。
次に例を示します:
[行列(Matrix)] パレットでは、その値が明示的に指定されていない要素に対し任意の値で行列のエントリを設定することができません。fill パラメータを使用してください。
他の呼び出し手順の構文やパラメータなどの、コンストラクタの詳細については、?storage、?Matrix、 ?Vector で表示されるヘルプページを参照してください。
また、数値計算も参照してください。
行列
行列内のエントリを選択するには、ゼロ以外の 2 つの整数インデックスを指定して行列名を入力します。行が先になります。
行全体を選択するには、インデックスを 1 つ入力します。列全体を選択するには、まず行全体の範囲 を入力し、次に列のインデックスを入力します。
同様に、インデックスを使用して部分行列を参照することができます。インデックスをリストまたは範囲として入力します。
ベクトル
ベクトルのエントリを選択するには、ゼロ以外の整数インデックスを指定してベクトル名を入力します。
負の整数を指定すると、ベクトルの最後から数えてエントリが選択されます。
複数のエントリで構成されるベクトルを作成する場合は、インデックスに整数のリストまたは範囲複数のエントリで構成されるベクトルを作成する場合は、インデックスに整数のリストまたは範囲を指定します。
Maple は、線形代数をサポートしています。コンテキストメニューを使用して、多数の行列およびベクトル計算を実行することができます。行列の乗算や逆行列などは基本的な行列演算子で計算できます。LinearAlgebra パッケージには、線形代数計算やベクトル空間の計算、参照、線形代数の解を得るための Maple コマンドがすべて含まれています。
行列演算
行列およびベクトルの算術演算子は、Maple の標準演算子ですが、以下に示すように 2 つの例外があります。
アスタリスク(*)は、スカラー乗算演算子です。2-D Math では、として表示されます。非可換の行列およびベクトルの乗算演算子は、ピリオド (.) です。
行列代数用の除算演算子 (/) はありません。(指数 -1 を使用して、行列の逆を構築することができます)
基本的な行列演算子については、表 5.5 を参照してください。
表 5.5 : 行列およびベクトルの演算子
.
スカラー乗算
* (2-D Mathではと表示されます) を入力することで、スカラー乗算を明示的に指定することができます。2-D Math では、2 つの数式の間に空白文字を挿入することで、スカラーと行列/ベクトルの乗算を暗黙的に実行することもできます。場合によっては、空白文字を省略できます。たとえば、Maple では、数値の後に名前が続く場合は、暗黙的乗算として処理されます。
2-D Math では、指数は上付き文字として表示されます。
行列およびベクトルのその他の演算子を表 5.6 に示します。
2 つの列ベクトルを定義します。
表 5.6 : 行列およびベクトルの演算子
転置
^%T
エルミート行列の転置
^%H
クロス積 (外積)
(3-D ベクトルのみ)
&x
乗算演算子は、2-D Math では上付き文字として表示されます。
LinearAlgebra パッケージの読み込み後は、クロス積 (外積) 演算子は 2 項演算子 &x として利用できます。それ以外の場合は、LinearAlgebra[CrossProduct] コマンドとして利用します。
有限環および有限体での行列演算については、?mod で表示されるヘルプページを参照してください。
ポイントアンドクリックによる操作
コンテキストメニューを使用して、多くの行列およびベクトル操作を実行することができます。
コンテキストメニューから実行できる行列操作には以下が含まれます。
標準演算: 行列式、逆関数、ノルム (1 次、ユークリッド、無限大、フロベニウス)、転置、トレース
固有値、固有ベクトル、特異値の計算
次元または階数の計算
ジョルダン形式または他の形式への変換
コレスキー分解および他の分解
行列の無限大ノルムを計算する例を次に示します。図 5.6 を参照してください。
図 5.6 : 行列の無限大ノルムの計算
ドキュメントモードでは、右矢印と実行される計算の名前に続けてノルムが挿入されます。下図を参照してください。
コンテキストメニューから実行できるベクトル操作には以下が含まれます。
次元の計算
ノルム (1 次、ユークリッド、無限大) の計算
転置の計算
要素の選択
コンテキストメニューの詳細については、コンテキストメニュー (ドキュメントモードの場合) またはコンテキストメニュー (ワークシートモードの場合) を参照してください。
LinearAlgebra パッケージのコマンド
LinearAlgebra パッケージには、行列およびベクトルの構築と操作、一般的な演算、参照、および線形代数の解を得るためのコマンドが含まれています。
表 5.7 に、LinearAlgebra パッケージのコマンドの一部を示します。完全なリストについては、?LinearAlgebra/Details で表示されるヘルプページを参照してください。
表 5.7 : LinearAlgebraパッケージのコマンド
Basis
ベクトル空間の基底を返します。
CrossProduct
2 つのベクトルのクロス積 (外積) を計算します。
DeleteRow
行列の行を削除します。
Dimension
行列またはベクトルの次元を特定します。
Eigenvalues
行列の固有値を計算します。
Eigenvectors
行列の固有ベクトルを計算します。
FrobeniusForm
行列をフロベニウス標準形に変換します。
GaussianElimination
行列に対してガウス消去法を実行します。
HessenbergForm
正方行列をヘッセンベルク標準形に変換します。
HilbertMatrix
一般化されたヒルベルト行列を構築します。
IsOrthogonal
行列が直交かどうかを検査します。
LeastSquares
A . x = b に対し、最小二乗近似を計算します。
LinearSolve
線形方程式系 A . x = b を解きます。
MatrixInverse
正方行列の逆行列または非正方行列の擬似逆行列を計算します。
QRDecomposition
行列の QR 分解を計算します。
RandomMatrix
ランダム行列を構築します。
SylvesterMatrix
2 つの多項式のシルベスター行列を構築します。
演算の詳細については、行列演算を参照してください。
エントリ、部分ベクトル、部分行列の選択については、行列およびベクトルのエントリの使用を参照してください。
例:ベクトルの集合 {(2,13, -15), (7, -2, 13), (5, -4, 9)} で張られた空間の基底を求め、この基底に関してベクトル (25, -4, 9) を表現する例を以下に示します。
これらのベクトルで張られたベクトル空間の基底を求め、基底ベクトルから行列を構築します。
この基底で (25, -4, 9) を表すには、LinearSolve コマンドを使用します。
数値計算
組み込みの数値線形代数ルーチンライブラリを使用して、浮動小数データを含む大きな行列およびベクトルの計算を非常に効率的に実行することができます。これらのルーチンの一部は、Numerical Algorithms Group (NAG®) によって提供されています。また、Maple には CLAPACK および最適化された ATLAS ライブラリの一部も含まれています。
LinearAlgebra パッケージを使用した効率的な数値計算の実行については、?EfficientLinearAlgebra で表示されるヘルプページを参照してください。
また、特定のプロパティを持った行列およびベクトルの作成およびファイルからの読み込みも参照してください。
Student パッケージには、教員が概念を教える際に役立つサブパッケージや、学習者が考え方を視覚化して調べることができるサブパッケージが含まれています。これらのサブパッケージには、計算コマンドも含まれています。
Student[LinearAlgebra] サブパッケージの環境では、LinearAlgebra パッケージの環境とは異なり、機械精度ではなくソフトウェア精度で浮動小数計算が実行されます。 また、記号は通常は複素数ではなく実数を表すものと見なして計算が実行されます。以上のデフォルト設定および他の設定は、 SetDefaultを使用して変更することができます。 SetDefault コマンド
Maple を教育および学習ツールとして使用する場合の詳細については、Maple を使用した学習を参照してください。
5.4 微積分
Task Browser ([ツール(Tools)]→[タスク(Tasks)]→[参照(Browse)]) には、多数の微積分タスクテンプレートが含まれています。タスクのリストを表示するには、[Calculus]、[Differential Equations]、[Multivariate Calculus]、[Vector Calculus] などの関連フォルダを参照してください。
ここでは、主な Maple の微積分コマンドについて説明します。 これらのコマンドの多くは、タスクテンプレートまたはコンテキストメニューから使用できます。
すべての微積分コマンドのリストについては、Maple ヘルプシステムのコンテンツのテーブルにある [Mathematics] ([Calculus]、[Differential Equations]、[Power Series]、[Vector Calculus] のサブフォルダを含む) および [Student Package] のセクションを参照してください。
独立変数がある値に近づく際の数式の極限を計算するには、以下の手順に従います:
1. [式(Expression)] パレットで、極限項目 をクリックします。
2. 独立変数、極限点、数式を指定して評価します。 次のプレースホルダーに移動するには、Tab キーを押します。
limit コマンド
デフォルトでは、Maple は実数の双方向の極限を検索します (極限点が ∞ または -∞ の場合を除く)。方向を指定するには、left、right、real、complex のいずれかのオプションを limit コマンドの呼び出しで指定します。表 5.8 を参照してください。
表 5.8 : 極限
コマンド構文
出力
undefined
limit コマンドを使用して、多次元の極限を計算することもできます。
多次元の極限の詳細については、?limit/multi で表示されるヘルプページを参照してください。
極限の数値解を得る
極限の数値解を得るには、以下の手順に従います:
evalf(Limit(arguments)) 呼び出し手順を使用します。
重要 :Limit コマンドを使用してください ( limitとは異なります) limit コマンド
Limit コマンドには、limit コマンドと同一の引数を指定できます。
evalf コマンドの詳細については、数値近似を参照してください。
Limit コマンドは、極限を計算しません。未評価の極限を返します。
Limit コマンドの詳細については、?Limit で表示されるヘルプページを参照してください。
Maple では、記号および数値の微分を実行することができます。
数式を微分するには、以下の手順に従います:
1. [式(Expression)] パレットで、微分項目 または偏微分項目 をクリックします。
2. 数式および独立変数を指定し、評価します。
たとえば、 を に関して微分するには、以下のように入力します:
コンテキストメニューを使用して微分することもできます。詳細については、コンテキストメニューを参照してください。
高階導関数または偏導関数を計算するには、挿入された導関数記号を編集します。たとえば、 の に関する 2 階導関数を計算するには、以下のように入力します:
の混合偏導関数を計算するには、以下のように入力します:
注意 : 記号をもう一度入力するには、既に入力された記号をコピーアンドペーストするか、または、d と入力して記号補完を使用します。
diff コマンド
Maple では、diff コマンドを使用して導関数を計算します。diffコマンドを直接使用するには、微分する数式と変数を指定します。
(5.1) などの方程式ラベルについては、方程式ラベルを参照してください。
高階導関数を計算するには、微分変数の複数値を指定します。Maple は、diffコマンドを再帰的に呼び出します。
偏導関数を計算するには、同一の構文を使用します。Maple では、導関数が交換可能であることを前提としています。
高階導関数を入力するには、diff(f , x$n) 構文を使用するのが便利です。 この構文は n 階導関数を記号的に計算するために使用することもできます。
演算子の微分
数学関数を関数演算子 (写像) として指定することもできます。演算子と他の数式の比較については、関数演算子と他の数式の区別を参照してください。
関数演算子の導関数を求めるには、以下の手順に従います:
D 演算子を使用します。
D 演算子は、関数演算子を返します。
数学関数
最初に演算子 F を定義します。
1. [式(Expression)] パレットで、1 変数関数を定義する をクリックします。
2. プレースホルダーの値を入力します。
次のプレースホルダーに移動するには、Tab キーを押します。注意 : Tab キーを押すとタブが挿入される場合は、ツールバーの [Tab] アイコン をクリックします。
次に、の導関数に対応する演算子 G を定義します。
F および G を で評価すると、予期される値が返されます。
D 演算子の詳細については、?D で表示されるヘルプページを参照してください。diffコマンドと D 演算子の比較については、?diffVersusD で表示されるヘルプページを参照してください。
方向微分
方向微分の計算およびプロットを実行するには、方向微分係数(Directional Derivative) チューターを使用します。このチューターは、方向微分の浮動小数を計算します。
チューターを起動するには、以下の手順に従います:
[ツール(Tools)] メニューから、[Tutors]、[Calculus - Multi-Variable]、[Directional Derivatives] の順に選択します。方向微分係数チューターが起動します。図 5.7 を参照してください。
図 5.7 : 方向微分係数(Directional Derivative) チューター
方向微分の記号値を計算するには、Student[MultivariateCalculus][DirectionalDerivative] コマンドを使用します。最初の数値のリストは、導関数を計算する点を指定します。2 番目の数値のリストは、導関数を計算する方向を指定します。
たとえば、点 [1, 2] では、 の傾きは [2, 4] の方向を示します。 これは、増分が最大となる方向です。直交方向 [-2, 1] の方向微分はゼロです。
ある点に関する関数の展開を生成するには、taylor コマンドを使用します。
注意 : テイラー級数が存在しない場合は、series コマンドを使用して一般級数展開を求めます。
たとえば、余弦積分関数余弦積分関数では、0 に関するテイラー級数展開が存在しません。
Error, does not have a taylor expansion, try series()
ある点に関する関数の級数展開の打切りを生成するには、series コマンドを使用します。
デフォルトでは、Maple は級数を 6 次まで計算します。これを変更するには、3 番目の引数で負でない整数を指定します。
すべての計算の次数を設定するには、Order 環境変数を使用します。Order 変数および 項については、?Order で表示されるヘルプページを参照してください。
展開は、series 型になります。plotなど一部のコマンドでは、series 型の引数を指定できません。展開を使用するには、convert/polynom コマンドを使用して多項式に変換する必要があります。
Maple での型および型変換については、Maple の数式を参照してください。
プロットについては、プロットおよびアニメーションを参照してください。
Maple では、記号および数値の積分を実行することができます。
数式の不定積分を計算するには、以下の手順に従います:
1. [式(Expression)] パレットで、不定積分項目 をクリックします。
2. 被積分関数および積分の変数を指定し、評価します。
たとえば、x に関して を積分するには、以下のように入力します:
や などの記号は、記号補完を使用して入力することもできます。
int や d などのように、記号名 (またはその一部) を入力し、補完ショートカットキーを押します。
詳細については、記号名を参照してください。
コンテキストメニューを使用して不定積分を計算することもできます。詳細については、コンテキストメニューを参照してください。
数式の数式の定積分を計算するには、以下の手順に従います:
1. [式(Expression)] パレットで、定積分項目 をクリックします。
2. 積分の区間の終点、被積分関数の数式、積分の変数を指定し、評価します。
たとえば、区間 (0, ∞) で を積分するには、次のように入力します:
Maple は、パラメータ a を複素数として処理します。変数の前提条件で説明されているように、assuming コマンドを使用し、a を正の実数という前提で計算することができます。
累次積分、線積分、面積分を計算するには、[Multivariate] フォルダおよび [Vector Calculus] フォルダのタスクテンプレートを使用します ([ツール(Tools)]→[タスク(Tasks)]→[参照(Browse)])。
int コマンド
および は、int コマンドを使用します。int コマンドを直接使用するには、以下の引数を指定します。
積分する数式
積分変数
定積分の場合は、積分変数が積分区間と等しくなるように設定します。
数値積分
数値積分を実行するには、以下の手順に従います:
evalf(Int(arguments)) 呼び出し手順を使用します。
重要 :Int コマンドを使用してください ( intとは異なります)。 int コマンド
Int コマンドには、int コマンドで指定可能な引数に加えて、数値積分方法を指定する method などの引数も指定することができます。
注意 : 下線文字 (_) を 2-D Math で入力するには、\_ と入力します。
累次積分およびアルゴリズムの制御などの数値積分の詳細については、?evalf/Int で表示されるヘルプページを参照してください。
Maple は、常微分方程式 (ODE) と偏微分方程式 (PDE) および ODE 系と PDE 系用の強力なソルバーを装備しています。
ODE および PDE の解き方については、その他の特殊ソルバーを参照してください。
Maple には、最上位の微積分コマンドに加えて、微積分のパッケージも含まれています。
VectorCalculus パッケージ
VectorCalculus パッケージには、 Curl、Flux、Torsion などの、多変数およびベクトルの積分演算を VectorCalculus ベクトル (座標系属性を追加したベクトル) およびベクトル場 (追加の座標系とvectorfield 属性を持つベクトル) に対して実行するコマンドが含まれています。
注意 : VectorCalculus パッケージにおける表示フォーマットの変更については、?VectorCalculus[BasisFormat] で表示されるヘルプページを参照してください。
VectorField1 の回転を求めるには、次のように指定します。
半径 r の任意の球の原点で VectorField1 の磁束を求めるには、次のように指定します。
空間曲線のねじれを計算するには、次のように指定します。曲線は、パラメトリック関数成分を持つベクトルとして指定する必要があります。
assuming コマンドについては、assuming コマンドを参照してください。
VectorCalculus パッケージの詳細、およびすべてのコマンドのリスト については、?VectorCalculus で表示されるヘルプページを参照してください。
VariationalCalculus などの他の微分積パッケージについては、?index/package で表示されるヘルプページを参照してください。
Student Calculus パッケージ
Student パッケージには、教員が概念を教える際に役立つサブパッケージや、学習者が考え方を視覚化して調べることができるサブパッケージが含まれています。これらのサブパッケージには、計算コマンドも含まれています。Student 微積分サブパッケージには、Calculus1、MultivariateCalculus、VectorCalculus が含まれています。Student[VectorCalculus] パッケージは、VectorCalculus パッケージに含まれている機能の一部を利用するための簡単なインターフェイスを提供します。
Maple を教育および学習ツールとして使用する場合および計算例については、Maple を使用した学習を参照してください。
5.5 最適化
Optimization パッケージを使用して、最適化問題の数値解を得ることができます。このパッケージは、高速な Numerical Algorithms Group (NAG) アルゴリズムを使用して、目的関数の最小化または最大化を行います。
Optimization パッケージは、制約付きおよび制約なしの問題を解きます。
2
線形および非線形の問題
Optimization パッケージには、局所用ソルバーが含まれています。また、他の制約がない一変数有限非線形計画法の場合は、NLPSolve コマンドを使用して大域解を計算することができます。一般的な大域解を求めるには、Global Optimization Toolbox を購入してください。詳細については、http://www.maplesoft.com/products/toolboxesを参照してください。
最適化問題を解くには、主に最適化アシスタント (Optimization Assistant) を使用します。
最適化アシスタントを起動するには、以下の手順に従います:
[ツール(Tools)] メニューから [アシスタント(Assistants)] を選択し、[最適化(Optimization)] を選択します。
最適化アシスタント(Optimization Assistant) が起動します。図 5.8 を参照してください。
図 5.8: 最適化アシスタント(Optimization Assistant)
問題を解くには、以下の手順に従います:
1. 目的関数、制約、範囲を入力します。
2. [最小(Minimize)] または [最大(Maximize)] のいずれかのラジオボタンを選択します。
3. [厳密解を計算(Solve)] ボタンをクリックします。[解(Solution)] テキストボックスに解が表示されます。
Optimization[Interactive] コマンドの呼び出し手順に問題 (目的関数、制約、範囲) を入力することもできます。
という制約のある の最大値を求める例を次に示します。
[最適化アシスタント(Optimization Assistant)] が表示されたら、[最大(Maximize)]、 [厳密解を計算(Solve)] の順に選択します。
解を求めた後は、その解をプロットすることができます。解をプロットするには、以下の手順に従います:
[最適化アシスタント(Optimization Assistant)] ウィンドウで [プロット(Plot)] ボタンをクリックします。[最適化用グラフ(Optimization Plotter)] ウィンドウが表示されます。図 5.9 を参照してください。
注意 : [最適化アシスタント(Optimization Assistant)] を終了する際にアシスタントウィンドウの右下にある ドロップダウンを使用して、解、問題、使用したコマンド、プロットのいずれかを返すか、または、何も返さないかを選択することができます。
図 5.9: [最適化用グラフ(Optimization Plotter)] ウィンドウ
最適化問題を解くアルゴリズムについては、?Optimization/Methods で表示されるヘルプページを参照してください。
大規模な最適化問題
最適化アシスタント(Optimization Assistant) では、代数形式での入力が可能です。コマンド呼び出し手順では、?Optimization/InputForms で表示されるヘルプページで説明している他の形式で入力を指定することができます。
行列形式 (?Optimization/MatrixForm で表示されるヘルプページを参照) は、複雑ですが入力をより柔軟かつ効率的に行うことができます。
という制約 ( は問題変数のベクトル) を受ける を最大化する
を例に線計画問題の解き方を次に示します。
1. 線形目的関数の列ベクトル c を定義します。
2. 線形不等式の制約の係数である行列 A を定義します。
3. 線形不等式の制約である列ベクトル b を定義します。
4. QPSolve コマンドは、2 次計画問題を解きます。
この例では、問題を実演するために任意のデータセットを使用しています。外部ファイルから行列としてデータを読み込み、そのデータを使用することも可能です。詳細と例については、ファイルからの読み込みを参照してください。
注意 : 行列およびベクトルの作成 ([行列(Matrix)] パレットを使用して行列を簡単に作成する方法) については、線形代数を参照してください。
効率的な計算の実行の詳細については、?Optimization/Computation で表示されるヘルプページを参照してください。
線形計画法を標準の MPS(X) データファイルからインポートするには、ImportMPS コマンドを使用します。
Optimization パッケージのコマンド
Optimization パッケージの各コマンドを使用すれば、さまざまな最適化方法を使用して問題を解くことができます。各コマンドについては、その一般的な入力形式と併せて、表 5.9 に説明されています。
表 5.9 : Optimization パッケージのコマンド
LPSolve
制約の対象となる線形目的関数の最小値 (または 最大値) の計算を含む、線形計画 (LP) 問題を解きます。入力は、方程式形式または行列形式となります。
LSSolve
が問題変数のベクトルであり、制約が付く可能性のある 形式の実数値目的関数の最小値の計算を含む最小二乗 (LS) 問題を解きます。入力は方程式形式または行列形式となります。
Maximize
制約が付く可能性のある目的関数の極大値を計算します。
Minimize
制約が付く可能性のある目的関数の極小値を計算します。
NLPSolve
制約が付く可能性のある実数値目的関数の最小値 (または 最大値) の計算を含む、非線形計画 (NLP) 問題を解きます。入力は、方程式形式または行列形式となります。
QPSolve
制約が付く可能性のある 2 次値目的関数の最小値 (または 最大値) の計算を含む、2 次計画 (QP) 問題を解きます。入力は、方程式形式または行列形式となります。
すべてのコマンドのリストおよび他の Optimization パッケージ情報については、?Optimization で表示されるヘルプページを参照してください。
5.6 統計
Statistics パッケージには、数学的な統計およびデータ解析のためのツールが含まれています。このパッケージは、数量的およびグラフィカルなデータ解析、シミュレーション、曲線近似 (カーブフィッティング) などの一般的な統計タスクをサポートしています。
Statistics パッケージは、標準のデータ解析ツール以外に、確率変数を使用した計算用のさまざまな記号および数値ツールも提供しています。このパッケージは、35 以上の主要な確率分布をサポートしています。 また、新しい分布を追加して拡張することもできます。
Statistics パッケージは、以下をサポートしています:
確率密度関数による実数直線で定義される連続分布。Maple は、正規分布、Student-t 分布、ラプラス分布、ロジスティック分布などの多数の連続分布をサポートしています。
離散点でのみゼロ以外の確率を持つ離散分布。離散分布は、確率関数によって定義されます。Maple は、ベルヌーイ分布、幾何分布、ポアソン分布などの多数の離散分布をサポートしています。
すべての分布のリストについては、?Statistics/Distributions で表示されるヘルプページを参照してください。
RandomVariable コマンドの呼び出しで分布を指定して、確率変数を定義することができます。
X の確率分布関数を求めるには、次のように指定します。(統計計算については、統計計算を参照してください)
カスタム分布の追加
新しい分布を追加するには、Distribution コマンドの呼び出しで確率分布を指定します。
区分的連続関数を 1-D Math で構築するには、たとえば、t -→ piecewise(t < 0, 0, t < 3, 1/3, 0)のように、piecewise コマンドを使用します。
指定した分布で新しい確率変数を定義します。
確率変数の平均値を計算します。
Statistics パッケージには、平均、メジアン(中央値)、標準偏差、百分位などの基本関数に加えて、四分位数間領域やハザード率などを計算するコマンドも含まれています。
例 1 - 四分位数間領域
スケールパラメータ3のレイリー分布の四分位 から、平均絶対範囲を計算する例を次に示します。
結果を数値で得るには、以下の手順に従います:
'numeric' オプションを指定します。
例 2 - ハザード率
任意の点 t において位置パラメータが a、スケールパラメータが b のコーシー分布のハザード率を計算する例を次に示します。
点 t の値を指定することができます。
結果を数値的に計算するよう指定することもできます。
詳細については、?Statistics/DescriptiveStatistics で表示されるヘルプページを参照してください。
Statistics パッケージの視覚化コマンドを使用して、統計プロットを生成することができます。利用可能なプロットは、以下のとおりです:
棒グラフ
度数プロット
ヒストグラム
円グラフ
散布プロット
正規分布標本で特定される値だけ から変化する点の分布の散布プロットを作成する例を以下に示します。
データ点に曲線を近似させるには、fit 方程式パラメータを指定します。
plots[display] コマンドを使用して、以下を含むプロットを作成します:
データ点の散布プロット
データ点に適合する 4 次多項式:
関数
統計プロットの詳細については、?Statistics/Visualization で表示されるヘルプページを参照してください。
プロットの概要については、プロットおよびアニメーションを参照してください。
回帰分析、推定、データ操作、データ平滑化などの、Statistics パッケージの詳細については、Statistics ヘルプページを参照してください。
データ解析アシスタント (Data Analysis Assistant)データ解析アシスタント (Data Analysis Assistant) を使用すると、対話的にデータ解析を行うことができます。
5.7 Maple を使用した学習
表 5.10 に利用可能な教員および学習者向けリソースの一覧を示します。その他のリソースについては、利用可能なリソースを参照してください。
表 5.10 : 学習者および教員向けリソース
Student パッケージ、チューター、デモンストレーション
Student パッケージは、計算および視覚化 (プロットおよびアニメーション) 機能と、概念の説明 および 確認用のポイントアンドクリックインターフェイスを提供します ([ツール(Tools)]→[チューター(Tutors)])。
Maple のデモンストレーションは、基礎解析の諸概念を対話的かつ視覚的に説明します([ツール(Tools)]→[デモンストレーション(Demonstrations)])。デモンストレーションをそのまま利用したり、仕組みを調べて Maple の埋め込みコンポーネントを用いて自作コンポーネントを作ることもできます。デモンストレーションの仕組みについての詳細は Demonstrations/Details ヘルプページをご覧ください。
デモンストレーションは、教員リソースセンター(Teacher Resource Center)内の、より包括的な指導用資料につながっています。
教員リソースセンター
Maple 教員リソースセンターは、教育に Maplesoft 製品を利用する教員のためのリソースやヒントが揃えてあります。リソースには、下記のものが含まれます。
基礎解析、微積分、工学などの科目の授業コンテンツ
教育ビデオ
電子書籍
(http://www.maplesoft.com/teachercenter)
Maple Portal
には、すべてのユーザーが対象の資料と学習者や教員向けのポータルが含まれています。Maple Portal には以下の項目が含まれています:
基本的な疑問に回答する How Do I(教えてください) ... トピック
はじめて Maple を使うユーザーのための基本情報から、プロットや行列の操作まで幅広いトピックの概要を説明するチュートリアル
学習者、数学教師、エンジニア向けの専門的な情報ポータルへのリンク
ポータルは、[ヘルプ(Help)] メニュー ([ヘルプ(Help)] → [マニュアル、リソース、その他(Manuals, Resources, and More)] → [Maple Portal]) から利用できます。
数学工学辞書
Maple ヘルプシステムには、5000 以上の数学およびエンジニアリング用語の辞書が統合されています。ヘルプシステム検索フィールドに用語を入力して、辞書を検索することができます。
Maple Application Center
Maple Application Center には、教員が Maple を使用する際、および授業で Maple を使用し始める際に利用できるチュートリアルおよびアプリケーションが含まれています。リソースは、[Education] および [Education PowerTools] のカテゴリに分類されています。
(http://www.maplesoft.com/applications)
Maple Student Help Center には、Maple の使用方法の学習、数学的概念の確認、問題の解決を支援するチュートリアルおよびアプリケーションが含まれています。利用可能なリソースは、以下のとおりです:
Study guides - 微積分入門や微積分などの科目用のレッスンおよび例を提供します。たとえば、『Interactive Precalculus Study Guide』には、練習問題が含まれています。各問題は、一般的な教科書と同様の方法で、Maple コマンドおよびカスタムの Maplet グラフィカルインターフェイスを使用して解かれています。
微積分入門、ベクトル解析、高校代数、抽象代数、線形代数、エンジニアリング、物理、微分方程式、暗号学、古典力学などの多くの科目用の無償コースレッスン。
多数の科目分野での例を挙げた、学習者が作成した学習者向けアプリケーション。
専門家が回答する学習者用 FAQ。
(http://www.maplesoft.com/academic/students)
ティーチャーリソースセンター(Maple Teacher Resource Center) には、授業で役立つ Maplesoft 製品を使用する際のリソースおよびヒントが含まれています。利用可能なリソースは、以下のとおりです:
トレーニングビデオ
E ブック
Student パッケージは、数学および関連科目の指導および学習用のサブパッケージをまとめたものです。Student パッケージには、微積分入門、微積分、線形代数などのさまざまな科目用のパッケージが含まれています。
教員は、以下を実行することができます:
計算技術ではなく概念を説明する
例題を作成し、授業中にすぐに更新して、さまざまな場合を説明する、あるいはパラメータの変更による変化を示す
プロットおよびアニメーションを作成し、数学関数とその導関数 ([ツール(Tools)]→[チューター(Tutors)]→[微積分 - 1 変数)(Calculus-Single Variable)]→[微分(Derivatives)]) の幾何的な関係などの概念を視覚的に説明する。図5.10を参照してください。
図 5.10 : [Student[Calculus1] Derivatives] チューター
学習者は、以下を実行することができます:
計算を段階的に実行する。 たとえば、コマンドやチューター ([ツール(Tools)]→[チューター(Tutors)]→[微積分 - 1 変数)(Calculus-Single Variable)]→[Differentiation Methods]) を使用して微分ルールを適用し、導関数を計算する。図 5.11 を参照してください。
計算を実行する
概念を視覚的に確認する
図 5.11 : [Student[Calculus1] Differentiation Methods] チューター
チューターでは、ポイントアンドクリックインターフェイスにより、Student パッケージの機能を利用できます。
チューターを起動するには、以下の手順に従います::
1. [ツール(Tools)] メニューから [チューター(Tutors)] を選択します。
2. [微積分 - 多変数)(Calculus - Multi-Variable)] などの科目を選択します。
3. [勾配(Gradients)] などのチューターを選択します。
(ワークシートモードでは) Student[MultivariateCalculus][GradientTutor](); 呼び出し手順が挿入され、[Multivariate Calculus Gradient] チューターが起動します。
3 次元プロットを回転することで、面の増分が最大になる方向を傾きが示すことを説明し (図 5.12 を参照)、xy平面での勾配ベクトルの方向を示す (図 5.13) ことができます。
図 5.12 : [Multivariate Calculus Gradient] チューター
図 5.13 : x-y 平面を表示している [Multivariate Calculus Gradient] チューター
チューターを終了すると、3-Dプロットが挿入されます。
Student パッケージのコマンドの多くは、値、数式、プロット、アニメーションのいずれかを返すことができます。これにより、最終的な出力の計算、特定の問題に適用する一般公式の確認、概念の視覚化が可能です。
たとえば、Student[VectorCalculus][LineInt] (線積分) コマンドは、以下を返すことができます。
ベクトル場、積分の経路、経路への接ベクトルを視覚的に示すプロット
未評価の線積分
線積分の数値
output = integral 呼び出し手順が返す積分を評価するには、value コマンドを使用します。
デフォルトでは、LineInt コマンドは積分の値を返します。
Student パッケージの詳細については、?Student で表示されるヘルプページを参照してください。
微積分問題の解き方の例
Maple は、ユーザーを支援する多数のリソースを装備した強力なアプリケーションです。以下の例では、シナリオを使って Maple リソースおよび Maple プログラムの使用方法を習得します。
Maple を使用して問題を解く際には、次のような手順で行います。
1. 問題を数式化します。
2. 問題を解くための Maple リソースを取得します。
問題
シナリオ A:
新しい湧水製品用のボトルをデザインします。 ボトルの容量は 18 オンスで、ボトルの高さは決定しています。デザインでは、波状の曲面を採用します。曲面の広さと方程式はわかっていますが、半径を特定する必要があります。回転体の体積が必要です。
シナリオ B:
回転体の体積 という概念を学習者に教えようとしています。具体的には、 を軸または軸に平行する線を中心に回転させて得られる回転体をプロットし、その体積を計算したいと思っています。
図 5.14 : 問題を解くためのフローチャート
既存のツールの確認:チューター
まず、[ツール(Tools)] メニューに、回転体の問題用の チューター があるかどうかを調べます。
回転体用のチューターを使用するには、以下の手順に従います:
1. [ツール(Tools)] メニューから [チューター(Tutors)] を選択し、[微積分 - 1 変数(Calculus-Single Variable)] を選択します。[体積(Volume of Revolution)] というチューターがあります。
2. [体積(Volume of Revolution)] のメニュー項目をクリックします。以下の Maple コマンドがドキュメントに入力されます。
[体積(Volume of Revolution)] チューター が表示されます。図 5.15 を参照してください。チューターを使用すると、関数や間隔の入力、対応するプロットの表示と操作、入力および選択内容に対応するすべての Maple コマンドの表示を行うことができます。
図 5.15 : [体積(Volume of Revolution)] チューター
チューターを [終了(Close)] すると、プロットがワークシートに挿入されます。
既存のツールの確認:タスクテンプレート
1. [ツール(Tools)] メニューから [タスク(Tasks)]を選択し、[参照(Browse)]を選択します。[Browse Tasks] ダイアログが開き、左側のペインにタスクのリストが表示されます。該当タスクを簡単に見つけることができるように、タスクはテーマ別にソートされています。
2. [Calculus] - [Integral]→ [Applications] → [Solids of Revolution] フォルダを展開します。
3. 表示されたリストから [体積(Volume)] を選択します。[体積(Volume of Revolution)] のタスクが [Browse Tasks] ダイアログの右側のペインに表示されます。
4. [新しいワークシートに挿入(Insert into New Worksheet)] チェックボックスを選択します。
5. [Insert Default Content] をクリックします。タスクを挿入する前に、ワークシートでタスク変数が設定されているかどうかがチェックされます。タスク変数が設定されている場合は、[タスク変数(Task Variables)] ダイアログが表示され、名前を変更することができます。Maple は、挿入したタスク内のすべての変数インスタンスに、編集済みの変数名を使用します。内容がドキュメントに挿入されます。図 5.16 を参照してください。
図 5.16 : 挿入されたタスクテンプレート
6. タスクテンプレートが挿入されると、パラメータは文字色が紫色のプレースホルダーとして表示されます。ワークシート内のプレースホルダー間を移動するには、Tab キーを押します。パラメータを更新したら、Enter を押してコマンドを実行します。
操作手順の確認:ヘルプページおよびサンプルワークシート
ヘルプシステムには、コマンド構文情報が表示されます。
ヘルプページを表示するには、以下の手順に従います:
1. [ヘルプ(Help)] メニューから [Maple ヘルプ(Maple Help)] を選択します。
2. 検索フィールドに、volume of revolution と入力し、[検索(Search)] をクリックします。検索結果に、コマンドのヘルプページ、辞書での定義、関連するチューターのヘルプページが表示されます。
3. Student[Calculus1][VolumeOfRevolution] ヘルプページに表示された使い方、パラメータ、説明を確認します。
4. 例題をワークシートにコピーします。ヘルプシステムの [編集(Edit)] メニューから [例題のコピー(Copy Examples)] を選択します。
5. [ヘルプナビゲータ(Help Navigator)] を終了します。
6. ドキュメントの [編集(Edit)] メニューから [貼り付け(Paste)] を選択します。例がドキュメントに貼り付けられます。
7. 例を実行し、結果を確認します。
サンプルワークシートを使用するには、以下の手順に従います:
1. ワークシートで ?index/examples と入力します。[Example Worksheet Index] が表示されます。
2. [Calculus] トピックを展開します。
3. [examples/Calculus1IntApps] リンクをクリックします。[Calculus1: Applications of Integration] ワークシートが表示されます。(図 5.17 を参照)。
4. [Volume of Revolution] トピックを展開します。
5. 例を確認して実行します。
図 5.17 : サンプルワークシート
その他のすぐに使用できるリソースの確認:アプリケーションセンター
アプリケーションセンター (Maple Application Center) は、数学、教育、科学、エンジニアリング、コンピュータサイエンス、統計およびデータ解析、金融、通信、グラフィックなどに関連する、ユーザーの協力で作成された無償のアプリケーションを提供します。
回転体用の無償アプリケーションを使用するには、以下の手順に従います:
1. Maplesoft のウェブサイト(http://www.maplesoft.com) にアクセスします。
2. メインのウェブページのメニューで [Community]、[Application Center] の順にクリックします。
3. [Application Search] のセクションの [Keyword or phrase] フィールドで [Calculus 2] と入力します。
4. [Search] をクリックします。
5. 検索結果のページで、[Displaying applications] の下に表示されている、[Click here] リンクをクリックします。
6. 保存されているアプリケーションの一覧から、[Calculus II: Complete Set of Lessons] を選択します。
7. [Download Maple Document] リンクをクリックします。
8. .zip ファイルをダウンロードします。
9. 「L2-volumeRevolution.mws」というファイルを取り出します。
11. ワークシートを実行し、結果を確認します。
5.8 Clickable Math
長年にわたって、Maple は数学ソフトウェアの使いやすさを追求してきました。Clickable Math ツール (パレット、対話型アシスタント、コンテキストメニュー、チューターなど) を使用して、Maple は数学の学習、教育、計算を簡単にするための基準を定めてきました。
Clickable Math ツールの主要な 2 つの機能として、Drag-to-Solve とスマートポップアップがあります。
スマートポップアップ
スマートポップアップとは、出力する方程式、数式、または部分式を選択する際に呼び出されるメニューです。
スマートポップアップを使用すると、
選択した操作を方程式や数式の一部分だけに適用し、残りの部分は変更しないようにすることができます。
実行する前に、操作結果をプレビューすることができます。
数式を調査して問題の理解度を深めることができます。
部分式を因数分解できるかどうか、どのようなプロットになるか、どの数学的恒等式を適用できるか、といったことを簡単に求めることができます。
Dag-to-Solve
Drag-to-Solve 機能を使用すると、項を好きな場所にドラッグして方程式を順を追って解くことができます。
Drag-to-Solve を使用すると、
計算の各ステップを簡単かつ完全に制御することができます。
メカニカルエラーを回避するために、方程式の両側に Maple が適切な加算、減算、除算、乗算を適用します。
Maple によって生成されたステップをすべて記録し、作業を文書化します。
スマートポップアップと Drag-to-Solve、および使用例に関する詳細は、worksheet,expressions,clickablemath ヘルプページを参照してください。
この章では、Maple で同じ問題をいくつかの方法で解く例を示します。例全体にわたって、新しいドキュメントブロック領域を挿入する必要があります。このためには [フォーマット (Foramat)] メニューから、[ドキュメントブロックを作成 (Create Document Block)] を選択します。また、これらの例では Windows システムのキーボードキーのみを使用します。ご使用のオペレーティングシステムのキーに関する詳細は、プラットフォームごとのショートカットキープラットフォームごとのショートカットキー を参照してください。
例 1 - 関数および導関数のグラフ化
の区間 で、r の および をグラフ化せよ。
以下の方法を使用してこの問題を解きます:
コンテキストメニューを使用した解法
チューターを使用した解法
タスクテンプレートからのチューターの使用
動作
ドキュメントに表示される結果
1. 数式 を入力します。
数式をコピーし導関数を計算します:
2. [フォーマット(Format)] メニューから [ドキュメントブロックの作成(Create Document Block)] を選択して、新しいドキュメントブロック領域を挿入します。
3. 元の数式を強調表示します。Ctrl + ドラッグで数式を新しいドキュメントブロックに移動します。
4. 数式を右クリックし、[微分(Differentiate)] → [微分変数(With Respect To)] → [x] と選択します。
導関数をコピーし、2 番目の導関数を計算します:
5. 新しいドキュメントブロックを挿入し、Ctrl + ドラッグで導関数をドキュメントブロックに移動します。
6. 導関数を右クリックし、[微分(Differentiate)] → [微分変数(With Respect To)] → [x] と選択します。
元の数式をプロットします:
7. 新しいドキュメントブロックを挿入し、Ctrl + ドラッグで元の数式を新しいドキュメントブロックに移動します。
8. 数式を右クリックし、[プロット(Plots)] → [プロットビルダー(Plot Builder)] を選択します。
9. [プロットビルダー: プロットの種類の選択(Interactive Plot Builder: Select Plot Type)] ダイアログで、x Axis (x 軸) の範囲を -Pi から Pi に変更します。
1 番目と 2 番目の導関数をプロットに追加します:
10. 数式の導関数を選択し、Ctrl + ドラッグでプロット領域に移動します。2 番目の導関数にも同じ操作を行います。
コンテキストメニューを使用して凡例を追加し、プロットの機能を拡張します:
11. プロット領域で右クリックし、[レジェンド(Legend)] → [レジェンドの表示(Show Legend)] を選択します。
12. 凡例上で Curve 1 をダブルクリックします。ツールバーの [テキストツール(Text)] アイコン が選択されていることを確認します。テキストを削除し、ツールバーの [Math] アイコン を選択します。これで、テキスト領域に 2-D Math を入力できるようになります。元の数式 を入力します。
13. Curve 2 と Curve 3 にも同じ操作を繰り返します。
グラフのタイトルを追加します:
14. プロット領域を右クリックし、[タイトル(Title)] → [タイトルを追加(Add Title)] を選択します。
15. 凡例の部分で、"New title" というテキストを "Plot the expression" というテキストで置き換えます。
16. [数学(Math)] アイコンをクリックし、数式 を入力します。[テキストツール(Text)] アイコンをもう一度クリックし、"and its derivatives" と入力します。
Student Calculus 1 パッケージには、導関数と共に数式のプロットを表示する [Derivatives] というチューターが含まれています。この例では、チューターを使用して前の例と同じ問題を解きます。
1. Student Calculus 1 パッケージをロードします。[ツール(Tools)] メニューから、[パッケージをロード(Load Package)] → [Student Calculus 1] を選択します。
2. Ctrl + ドラッグで、数式 を空のドキュメントブロック領域に移動します。
Loading Student:-Calculus1
3. 数式を右クリックし、[チューター(Tutors)] → [微積分 - 1 変数)(Calculus - Single Variable)] → [Derivatives] と選択します。
注意 : 手順 1 で Student Calculus 1 パッケージをロードしたので、コンテキストメニューから [チューター(Tutors)] メニューが選択可能になっています。
[Derivative] チューター で、元の数式の横に表示された色見本は、プロット領域の曲線に使用される色です。 および についても同様です。
4. 開始点を -Pi に変更します。 をプロットに表示するため、チェックボックスを選択します。[表示(Display)] をクリックして、これらの変更を有効にします。
5. このチューターから数式、範囲、およびプロットのオプションを変更することができます。変更を加えるごとに [表示(Display)] をクリックし、変更後のプロットを確認します。完了したら、[閉じる(Close)] をクリックして、最終的なプロットをドキュメントに表示します。
Maple には、コマンドを一切使用せずにこの問題を解くことが可能な、タスクテンプレートも装備されています。
1. [ツール(Tools)] → [タスク(Tasks)] → [参照(Browse)] を選択して、タスクテンプレートブラウザ (Task Template Browser) を起動します。
2. [Task Browser] ダイアログのコンテンツのテーブルから、[Calculus -Differential] → [Derivatives] → [Graph and its Derivatives] と選択します。
3. ダイアログの上部に配置されている [最小限のコンテンツを挿入(Insert Minimal Content)] をクリックして、タスクテンプレートを現在のドキュメントに挿入します。
4. f(x) 領域に数式 を新たに入力します。
5. 区間 を入力します。パイ記号を挿入するには、コマンド補完を使用するか、あるいは、[一般的な記号(Common Symbols)] パレットから を選択します。
6. [微分法チューターを起動(Launch Differentiation Tutor)] をクリックして、前の例の解法と同じチューターを起動します。
7. 完了したら、[閉じる(Close)] をクリックします。挿入されたタスクテンプレートのプロット領域に数式のプロットとその導関数が表示されます。
例 2 - 2次方程式の x を求める
方程式 の を求めよ。
数式エクスプローラ(Equation Manipulator)を使用した解法
即解法
段階的な対話型操作による解法
グラフを使用した解法
Maple では、数式の操作プロセスを一段階ごとに実行し、問題を解くことができるダイアログの使用が可能です。この操作ツールは、コンテキストメニューから使用することができます。
1. 方程式
を新しいドキュメントブロック領域に入力します。
2. この方程式を右クリックし、[式操作(Manipulate Equation)] を選択します。[数式エクスプローラ(Manipulate Equation)] ダイアログが表示されます。
すべての項を左辺に集めます:
3. [Addition] の領域の [項のグループ(Group terms)] の行で、指定した側に項を集めることができます。left (左) がすでに選択されているので、[実行(Do)] をクリックします。
方程式の左辺を展開します:
4. [その他の操作(Miscellaneous Operations)] の領域で、ドロップダウンメニューからコマンドを適用して、方程式を操作することができます。ここでは方程式の左辺のみを展開したいので、2 行目の最初のドロップダウンメニューをクリックして、expand を選択します。[実行(Do)] をクリックします。
方程式を因数分解します:
5. 同じドロップダウンメニューから factor を選択し、[実行(Do)] をクリックします。
6. [ステップを返す(Return Steps)] をクリックして、ダイアログを終了し、すべての作業内容を Maple ドキュメントに返します。
7. Ctrl + ドラッグで、因数分解された元の方程式をを新しいドキュメントブロック領域に移動します。
8. 右クリックし、[厳密解を計算(Solve)] → [変数について解く(Solve for Variable)] → [x] と選択します。
この問題に即解法を適用するには、コンテキストメニューを使用します。
1. Ctrl + ドラッグで、方程式 を新しいドキュメントブロック領域に移動します。
2. 右クリックし、[厳密解を計算(Solve)] → [変数について解く(Solve for Variable)] → [x] と選択します。
この方程式は、コンテキストメニューまたはコマンドを段階的に使用して、対話的にドキュメント内で解くこともできます。
1. Ctrl + ドラッグで方程式 を新しいドキュメントブロック領域に移動します。
すべての項を右に集めます:
2. 方程式を右クリックし、コンテキストメニューから [右に移動(Move to Right)] を選択します。
方程式の右辺を展開します:
3. 結果を右クリックし、コンテキストメニューから [展開(Expand)] を選択します。
結果として得られた右辺を因数分解します:
4. 結果を右クリックし、[右辺(Right-hand Side)] を選択します。
5. 結果を右クリックし、[因数分解(Factor)] を選択します。
x について方程式を解きます:
6. 結果を右クリックし、[厳密解を計算(Solve)] → [変数について解く(Obtain Solutions for)] → [x] と選択します。
これまで同じ問題をいくつかの方法で解きましたが、数式をプロットしてその解答を確認することができます。
1. Ctrl + ドラッグで、方程式 を新しいドキュメントブロック領域に移動し、Enter を押します。
まず、方程式を操作して数式にします:
2. 出力を右クリックし、[左に移動(Move to Left)] を選択します。
コンテキストメニューを出力で使用した場合、入力で使用した場合と並びが異なります。結果は、説明文付き矢印を左側に伴う形で、ドキュメントの中央に表示されます。
3. 出力を右クリックし、[左辺(Left-hand Side)] を選択します。
4. 出力を右クリックし、[展開(Expand)] を選択します。
方程式が非常に単純な形式になったところで、結果をプロットします:
5. Ctrl + ドラッグで、出力を新しいドキュメントブロックに移動します。
6. 数式を右クリックし、[プロット(Plots)] → [2次元プロット(2-D Plot)] と選択します。
コンテキストメニューを使用して、 軸および 軸の範囲を変更します:
7. デフォルトでは、コンテキストメニューを使用して生成されたプロットの 軸の範囲は -10 から 10 となっています。この範囲を変更するには、プロットを右クリックし、[座標軸(Axes)] → [プロパティ(Properties)] と選択します。[軸のプロパティ(Axes Properties)] ダイアログの [横(Horizontal)] のタブで、[データの範囲を使用(Use data extents)] の選択を解除し、[範囲の最小値(Range min)] と [範囲の最大値(Range max)] の値をそれぞれ 0 と 5 に変更します。
[縦(Vertical)] のタブをクリックし、[データの範囲を使用(Use data extents)] の選択を解除し、[範囲の最小値(Range min)] と [範囲の最大値(Range max)] の値をそれぞれ -5 と 10 に変更します。
8. [OK] をクリックして変更を適用し、プロットに戻ります。
このグラフと 軸の交点は 1 と 3 となり、前の例で求めた解と一致します。
例 3 - 2次の三角方程式を解く
の区間における方程式 の解をすべて求めよ。
タスクテンプレートを使用した解法
解析的解法
1. Ctrl + ドラッグで、方程式
を空のドキュメントブロックに移動し、Enter を押します。
2. 出力を右クリックし、[左辺(Left-hand Side)] 選択します。
3. 出力を右クリックし、[プロット(Plots)] → [プロットビルダー(Plot Builder)] と選択します。
4. プロットの範囲を から に修正します。
5. [プロット(Plot)] をクリックして、ドキュメントにプロットを表示します。
6. グラフから、 の区間内のすべての解を見ることができます。値の近似値を得るには、プロットをクリックし、ツールバーの選択メニュー( ) から所望の座標系の種類を選び、点プローブ (Point Probe) ツールを使用してマウスポインター位置の座標を表示します。
1. [フォーマット(Format)] メニューから、[タスク(Tasks)] → [参照(Browse)] と選択します。[Algebra] のフォルダを展開し、[Solve Analytically in a Specified Interval] を選択します。
2. [最小限のコンテンツを挿入(Insert Minimal Content)] をクリックします。
3. 現在示されている方程式をこの例の方程式 に置き換えてから、コマンドを実行します。結果を参照するために方程式ラベルが使用されていることに注意してください。
を空のドキュメントブロック領域に移動します。
2. 数式を右クリックし、[左辺(Left-hand Side)] を選択します。
3. 出力を右クリックし、[因数分解(Factor)] を選択します。
4. Ctrl + ドラッグで、1 つ目の因数を空のドキュメントブロック領域に移動します。
5. 右クリックして、[厳密解を計算(Solve)]→[厳密解を計算(Solve)] と選択します。
6. Ctrl + ドラッグで、2 つ目の因数を空のドキュメントブロック領域に移動します。
7. 右クリックして、[厳密解を計算(Solve)]→[厳密解を計算(Solve)] と選択します。
上記の解法では、すべての解が求められていないことにご注意ください。ここで求められたのは、 の区間におけるすべての解です。
例 4 - 逆関数を求める
に対し、その逆関数 (functional inverse) である の規則を求め、グラフ化せよ。
グラフを使用した定義の適用
逆関数のグラフは、縦座標と横座標を入れ替えることで生成される一連の順序対です。
1. 空のドキュメントブロックで、 と入力し、Enter を押します。
2. 出力を右クリックし、[プロット(Plots)]→[プロットビルダー(Plot Builder)] と選択します。
3. [プロットビルダー: プロットの種類の選択(Plot Builder: Select Plot Type)] ダイアログの [プロットの選択(Select Plot)] 領域で、[2-D parametric plot] が選択されていることを確認します。
4. の変域を の区間に変更します。
5. [プロット(Plot)] をクリックして、プロットをドキュメントに返します。
6. Ctrl + ドラッグで、数式 をグラフに移動します。
軸範囲が変化したことを確認してください。
7. Ctrl + ドラッグで、数式 をグラフに移動します。その結果として得られたグラフは および の線を示します。
軸および 軸の範囲を調整します。
8. プロットを右クリックし、[座標軸(Axes)] → [プロパティ(Properties)] と選択します。
9. [軸のプロパティ(Axes Properties)] ダイアログで、[データの範囲を使用(Use data extents)] の選択を解除し、範囲を 0 から 2 に変更します。
10. [縦(Vertical)] のタブをクリックし、手順 9 を繰り返します。[OK] をクリックしてこの設定を適用し、ダイアログを終了します。
1. [Student Calculus 1] パッケージをロードします。[ツール(Tools)] メニューから、[パッケージをロード(Load Package)] → [Student Calculus 1] を選択します。
2. 数式 を空のドキュメントブロック領域に入力します。
3. 右クリックして、[チューター(Tutors)] → [微積分 - 1 変数)(Calculus-Single Variable)] → [Function Inverse] と選択します。[Function Inverse Tutor] が表示されます。
4. 変域を に変更します。
5. 終了したら、[閉じる(Close)] をクリックします。関数のプロット、その逆関数、 の線が、ドキュメントに返されます。
例 5 - 積分法 - 三角関数の代入
を代入して積分 を評価せよ。
積分の直接評価
積分の解法(Integration Methods) チューターを使用した解法
第一原理を使用した解法
1. 積分 を空のドキュメントブロック領域に入力します。
2. 数式を右クリックし、[インライン表示で評価(Evaluate and Display Inline)] を選択します。
=
1. Student Calculus 1 パッケージをロードします。[ツール(Tools)] メニューから、[パッケージをロード(Load Package)] → [Student Calculus 1] と選択します。
2. Ctrl + ドラッグで、被積分関数 を空のドキュメントブロック領域へ移動します。
3. 数式を右クリックし、[チューター(Tutors)] → [微積分 - 1 変数)(Calculus-Single Variable)] → [積分法(Integration Methods)] と選択します。積分の解法(Integration Methods) チューターが表示されます。
4. [変更(Change)] を選択し、x = 2*sin(u) と入力して変数を変更します。
5. [数学定数(Constant)] をクリックして定数ルールを適用します。
6. 元の変数に戻すには、[前の状態(Revert)] をクリックします。
7. 積分の評価が終了したので、[閉じる(Close)] をクリックしてチューターを終了し、評価された積分をドキュメントに返します。
1. Ctrl + ドラッグで被積分関数 を空のドキュメントブロック領域に移動し、Enter を押します。
三角関数の代入を実行します:
2. 出力を右クリックし、[点で評価(Evaluate at a point)] を選択します。表示されたダイアログで、2*sin(u) と入力します。
3. 出力を右クリックし、[簡単化(Simplify)]→[シンボリック(Symbolic)] と選択します。
を計算します:
4. 空のドキュメントブロックで、代入する方程式 を入力し、Enter を押します。
5. 出力を右クリックし、[陰関数式を微分(Differentiate Implicitly)] を選択します。表示されたダイアログで、[独立変数(Independent Variable)] を u に変更します。
について積分を計算します:
6. 方程式ラベルで結果を参照しながら、簡単化された元の数式をこの導関数で乗算します。
7. その結果得られた数式を積分します。
代入を元に戻します:
8. 方程式 を空のドキュメントブロックに移動します。 を削除し、 に置き換えた際の積分の値である、前の手順での結果の方程式ラベルを挿入します。Enter を押します。
9. 出力を右クリックし、[厳密解を計算(Solve)] → [変数について解く(Solve for Variable)]→[u] と選択します。
例 6 - 初期値問題
初期値問題の解を求め、プロットせよ。
ODE アナライザー(ODE Analyzer) アシスタントを使用した解法
ODE アナライザーアシスタントを使用すると、常微分方程式 (ODE) の数値解または記号解を得るとともに、解のプロットを表示することができます。
1. 空のドキュメントブロック領域に ODE を入力します。
2. 方程式を右クリックし、[対話的に DE を解く(Solve DE Interactively)] を選択します。ODE アナライザーアシスタントが表示され、ODE が自動的に挿入されます。
初期条件を挿入します。
3. [条件(Conditions)] 領域で、[編集(Edit)] をクリックします。[条件の編集(Edit Conditions)] ダイアログが表示されます。
4. [条件の追加(Add Condition)] 領域で、ドロップダウンメニューから y が選択されている状態で、右側のテキストフィールドに 0 を、左側のテキストフィールドに 2 を入力します。[追加(Add)] をクリックします。入力した内容と右側に示された内容が一致します。
5. y’ の初期条件を入力するには、ドロップダウンメニューから y’ を選択します。テキストフィールドに、0 と -1 を入力し、[追加(Add)] をクリックします。
[完了(Done)] をクリックしてこのダイアログを終了し、メインダイアログに戻ります。初期条件が [条件(Conditions)] のセクションに表示されます。
6. [数値解(Solve Numerically)] をクリックすると、新しいダイアログが表示されます。
7. [数値解を計算(Solve)] をクリックして、初期値問題を解きます。
8. [プロット(Plot)] をクリックして、微分方程式 (DE) の解をプロットします。
9. 必要に応じて、[プロットオプション(Plot Options)] ボタンをクリックしてデフォルトのグラフを修正します。
10. [終了(Quit)] をクリックしてODE アナライザーアシスタントを終了し、解のプロットをドキュメントに返します。
Download Help Document