[Maple]導入と使い方メモ

工学・情報学メモ

Mapleは数式の処理や数値解析,グラフ作成や数式を含むドキュメント作成を手軽に行うことが出来るソフトウェアである.Mathematicaに近いインターフェイスを備え,実行速度はそれに劣るもののメモリ使用量は少なく,またMatlabとの連携も意識して開発されている.

1.導入

ライセンスはさほど高価でなく,1ライセンスあたり数万円で購入可能.大阪大学の学生や職員の場合,大学が包括ライセンス契約をしているので,サイバーメディアセンターに申し込むとインストール用DVDとライセンス番号をもらうことができる.インストールも10分ほどで終わる.Mapleをインストールするとデスクトップにショートカットができるため,まずはそれを実行する.デフォルトでは一つの画面が開く.上部のヘッダメニューの下にツールバーがあり,その下の広いエリアが左右に分割されている.左はパレットが表示されるエリアであり,右がドキュメントやワークシートを編集する作業エリア(正式名称は不明.ドキュメントの場合でも,単にワークシートと呼ばれている?)である.ドキュメントとは,数式やテキスト,グラフなど視覚的に豊かな情報を織り交ぜて作業できるモードであり,ワークシートとは,コマンドプロンプト形式でシンプルながら高度な機能や制御が可能なモードである.この作業エリア上部のタブで開かれている複数のドキュメントやワークシートを切り替えられる.

2.習得

ヘッダ部のメニューの「ヘルプ」→「マニュアル,リソース,その他」→「マニュアル」→「ユーザマニュアル」を選択するとチュートリアルの目次が表示されるので,それに従って使い方を学ぶことができる.このマニュアルはMapleのドキュメント,あるいはワークシート形式で作成されたものであり,ユーザがドキュメント内ですでき記述されている数式やグラフに対して各種コマンドを実行したり編集したりすることが可能であるため,マニュアルを読みながら実際に試したい,という場合には便利だろう.しかしながら,用語の説明が成されないまま解説がなされているので,初めてMapleに触れる場合にはわかりにくい.一方でMaple softのwebサイトで公開されているマニュアルは,用語説明がなされた上で機能説明がなされているため,わかりやすい.まずはこちらから習得を始めるのがよいだろう.

3.基本的な操作

数式を入力し,右クリックで開くコンテキストメニューからその数式に対する様々な処理が実行できる.例えば,「インラインで評価」は,記号計算(数式の簡略化や公式との関連づけ)や数値計算(有限精度での数値化)が実施され,「プロット」ではグラフが表示される.方程式の厳密解を計算したり,微積分処理も可能.このようなコンテキストメニューの項目は,数式のタイプによって処理可能なもののリストに自動的に切り替わる.このようにコンテキストメニューを用いて数式に対して処理を行うと,ワークシートの式にコマンドが付与される形で反映されるため,このコマンドを覚えてくればコンテキストメニューを使わずに直接コマンドの記述によって式に処理をかけることができるようになるだろう.

 式番号を参照して式中に入力する:Ctrl + L
 コマンドを補完もしくは変換可能な一覧を表示する:esc ※sqrtを入力後escキーを押すとルート記号に変換可能

4.いくつかの例

関数のアニメーション表示:sin((1/10)*i*sqrt(x^2+y^2))といったような関数の,ある範囲のx-y平面内での出力が,iを次々に変えていった場合にどのように変化するかを確認したいとする.この場合,この式を作業エリアに入力し,右クリックでコンテキストメニューを開き,「プロット」→「プロットビルダー」を選択する.するとプロットビルダーのオプション設定画面が開くので,プロットタイプのプルダウンメニューから「アニメーション」を選んだ上で,「プロットの選択」のリストから「3-D plot」を選択し,x,y,iの範囲を設定して「プロット」ボタンを押すと,作業エリアにグラフが描画される.このグラフを右クリックして開くコンテキストメニューから「アニメーション」→「再生」を選ぶと,iを設定範囲内で少しずつ増やしていった場合のグラフの変化がアニメーション表示される.この関数の場合,全体が波打つ振動の様子が表示される.

5.基本的なコマンド(1-D Math入力モードでの記述)

 方程式の解を求める: solve(x^2+a*x+b=0,x);
 連立方程式の解を求める: solve([x^2+y^2=0,x-y=1],[x,y]);
一つの1変数関数の出力を指定範囲で描画する: plot(sin(x),x=0..Pi);
 複数の1変数関数の出力を指定範囲で描画する: plot({sin(x),cos(x)},x=0..Pi);
 一つの2変数関数の出力を指定範囲で描画する:plot3d(x^2-y^2,x=-2..2,y=-2..2);
変数に値や関数を割り当てる(定義する):a:=2; や,func:=(x,y)->sqrt(x^2+y^2);
 式に値を割り当てずに仮に値を入れた場合の出力を確認する:eq:=x^2; eval(eq,{x=2});
式や値の割り当てを初期化する:restart
関数のある点での接線の式を求める:with(Student[Calculus1]); F:=x^2-x+3;Tangent(F,x=2);
関数をある範囲で積分する:int(x^2+2*x,x=0..4);
公式を用いて式を簡単にする:simplify(sin(x)^2+cos(x)^2);
 条件式を用いて式を簡単にする:simplify(a^2+a*b+b^2,[a+b=-3,a*b=8]);
 複雑な手続きを関数化する:func:=proc(var) var*2; end proc; ※procの直後にはセミコロンはつけない

ピックアップ記事

関連記事