コンピュータリテラシ 第 5 回 CL4a (木曜1限)
CL3b+CL4d (金曜1限)
担当 久野禎子
http://www.e.gsic.titech.ac.jp/~ykuno/
はじめてのアプリケーションを 使ってみる!
~ Mathematica を例に ~
身近な計算ツール
• 数式処理
http://ja.wikipedia.org/wiki/Mathematica
• 数値計算、数値解析
http://ja.wikipedia.org/wiki/MATLAB
• 統計処理、統計解析 R(フリー)
http://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E
• 表計算 Excel
情報倫理とセキュリティのためのガイド
倫理的・法的規則篇(その2:ソフトウェアライセンス)
http://www.titech.ac.jp/rinri/ethics2.shtml
Gsicからのお知らせ(ソフトウェアサイトライセンス)
http://www.gsic.titech.ac.jp
Mathematica はどんなアプリ?
• とりあえず大学生の電卓、でも本当はスゴイ
• 高価なので個人で持つのは難しい
https://www.hulinks.co.jp/software/mathematica/price.html
• せっかくだから演習室で大いに使おう
• ビデオやチュートリアル教材で独習でき、すぐ にもある程度使うことができる → やってみ よう
Mathematica を起動
• Finder、アプリケーションの中の
Mathematica.app
• ウェルカムスクリーンから開始(ウェルカムス クリーンはヘルプメニューでいつでも出せる)
新しいアプリケーションを学ぶとき大事なこと
• 最初の簡単なところから実際に自分の手を動か して確かめながら、
• ひと通り使えるまでは集中的に学ぶ
• 決まった使い方が定まれば十分使えていくとい うなら、とりあえずその使い方が定まるまで学ぶ
• その後、複雑で詳細なこと、新しくやりたくなるこ とが生じたら、必要になったとき調べられるよう であれば良い
• 人から全部習えるわけではない、自分なりの使 いこなしや、熟練は自分で成るしかない
オンライン教材での独習
• ヘルプメニューのWolframドキュメント
• 検索で「バーチャルブック」を見つけてみよう。
以前使用されていた、最も平易な入門向け チュートリアル(tutorial/VirtualBookOverview)
• 「はじめに」のGetting Startedから、実際に自 分の手で行う
• ギリシャ文字アルファの出し方など、画面下 の「関連するチュートリアル」も(最初のうちは できるだけ)見よう
実習
• 「Wolfram言語の最初のステップ」を実際に自
分で打って計算してみる
• 計算結果をよく観察する
• http://www.e.gsic.titech.ac.jp/~ykuno/2015/sample1.pdf
でははじめましょう!: まず最初に
• Mathematicaで作成するものは、「ファイル」の「新規作
成」メニューで確認
• まずは「ノートブック(.nb)」の使い方を覚えれば、いろ いろ計算できるようになる
• 「.nb」は、Mathematicaで作成するノートブックのファイ ルに付くファイル拡張子。ファイル拡張子が「.nb」の ファイルは、Mathematicaでしか扱えない。
• Mathematicaで作るファイルは、まずはMathematica独 自の形式のファイルで保存するのが基本。そうしないと 後から再びMathematicaで扱えなくなるから。保存でき る他の形式も知っておき、使用目的に応じて選ぶ。
• いったんファイル名の付いたファイルは、その後は「保 存」メニューで上書き保存になる。
ノートブックはどう使う?
• (英数キーを押してから)計算に必要な式の行(入 力行を1行ぶん、セル)を書いて、Shift+return
(Shiftキーを押しながらreturnキー)を押すと、それ に対する評価を行い、出力行が返ってくる。
• 2+2、9.7^200、x^25-1の因数分解、、と計算して みよう。1/(x^3-1)の積分の計算式は、パレットメ
ニューのアシスタントを使えば積分の関数名を知ら なくても入力できるからやってみよう。
• コマンド+Lで直前に評価した行の内容を入力でき る。
• 右端に出るセルブラケットに注目。セルブラケットに はマウスの右ボタンでできる操作が適用可能。
Mathematica 式の入力ルール
(バーチャルブックから抜粋)
まずこのあたり
• Getting Started
• 入力には、「パレット」メニューのアシスタント を出して使うことができる
• 「コアとなる言語」
• 「数学とアルゴリズム」の使ってみたいとこ
• 「可視化とグラフィックス」のMathematicaグラ フィックスの編集
変数の利用
(バーチャルブックから抜粋)
作業はマメに保存がオススメ
• ここまで作業したノートブックを、いったん保存し てみましょう。保存先は自分のDocumentsフォル ダ、保存フォーマットはノートブックで良いでしょう。
• 「.nb」は、Mathematicaで作成するノートブックの ファイルに付くファイル拡張子。ファイル拡張子が
「.nb」のファイルは、Mathematicaでしか扱えない。
• Mathematicaで作るファイルは、まずは
Mathematica独自の形式のファイルで保存するの
が基本。そうしないと後から再びMathematicaで 扱えなくなるから。保存できる他の形式も知って おき、使用目的に応じて選ぶ。
• いったんファイル名の付いたファイルは、その後 は「保存」メニューで上書き保存になる。
式の表記法は3通り
• 実はずっと、出力の式は「標準形」になっていた。
• セルを選んで、メニューの「セル」「形式変換」で、他の
「入力形」や「慣用形」でも式を表示できるから表示を変 えてみよう。
• 入力は「入力形」で打ち込むのが効率的。キーボードか ら直接打てるので、入力形で打ち込むのが良い。
• 式を入力形で打ち込む方法が分からないときは、「パレッ ト」メニューのアシスタントパレットを使って入力式を書くこ ともできる。
• 「慣用形」は文書中で用いられる式だが、入力として使う と正しく評価(計算)することはできない。
• セルブラケットを選んで「セル」「形式変換」を使えば広い 範囲をいっぺんに変換できるから、とりあえず表示形式 のことはあまり気にせずどんどん計算させてみよう。
慣用形の式の利用
• 慣用形の式は画像扱い。
• マウスの右ボタンで、「形式を選択してコ
ピー」で形式を選びコピーしておき、別のアプ リケーションでペースとして持っていける。
• 「MathML」形式でコピーし、Wordへ持っていく と、数式としてペーストされ、数式エディタで扱 える。Word文書中では文中数式/独立行数 式で式の配置をして使う。
実習:数式を画像ファイルに
• Mathematicaで書いた慣用形の数式のセル
を選び、
• マウスの右クリックで「選択範囲の形式保存」
でファイル名を付け、画像ファイルに保存する。
画像形式は「フォーマット」で指定する。
実習:数式の Word での利用
• Wordを起動
• Mathematicaで書いた慣用形の数式を
「MathML」形式でコピー
• Word文書でペースト
• 文中数式/独立行数式として利用、Wordの数 式エディタで数式の続きの編集も可能
⚫⚫Mathematicaの新規ノートブックを作 成して続きの作業をしましょう。
入門用の参考書を使う方法
• 今日はこっちの方法を試すので、新規ノートブック を作成しましょう。
• 今日の参考書紹介
「Mathematica3による工科の数学」
田澤義彦著
東京電気出版
• 一般の大型書店で手にとって選んだ、例題のテン ポが良いので買ってみた、このテキストの
Mathmaticaツァー(ざっと主な機能を見ること)の部
分を使ってMathematicaに入門してみよう
• この本はMathematica3を用いて書かれていたので、
Mathematica10で同じ例題を動かすには手直しが
必要だった
数の計算もう少し
英数キーを押してから「」の中だけ打ってください
• 何を計算しているか分かりますか?
• 「5 6」(半角スペースで乗算)、「7/4」、「N[7/4]」、
「N[100/3]」、「N[100/3,30]」「Mod[251,4]」「3^5」
「N[Sqrt[5]]」「N[Pi]」「N[Pi,200]」、「N[E]」「I^2」
「(1+3 I)(2-I)」
• 「Sum[2*3^(k-1),{k,1,5}]」「Sum[3+(k-1)
4,{k,1,10}]」 ヒント:シグマ記号
• 「 10! 」「 10!/3! 」「 10!/(4!6!) 」「 Binomial[10,4] 」
式の計算も
• Expandは式の展開、Factorは因数分解、Simplifyで式の 昇べき順整理や有理式の通分
• Expand[(2a+b-c)^3]
• Factor[%] %は、直前の出力結果
---
• Factor[2 x^2+5 x y +2y^2+5x+y-3]
• Simplify[2 x^2+5 x y +2y^2+5x+y-3]
---
• 1/(x+1)-(x-2)/(x^2-x+1)
• Simplify[1/(x+1)-(x-2)/(x^2-x+1)]
---
• Sum[(1+x)^k,{k,0,5}]
• Expand[%]
注意:
xy と x yは別物。
後者は(x×y)。
関数を定義できる
• 関数を定義するときは、変数名の後ろには下 線_を付け、括弧は[]を用いる。ユーザ定義の 関数名は小文字から始める。
• a[n_]=5 (n-1)+3
• a[125]
• Sum[a[n],{n,1,50}]
ベクトルや行列の計算もできる
• 割愛
極限、微分
• Limit[(1+1/n)^n,n->Infinity]
• Limit[Sin[x]/x,x->0]
• D[x^2*Sin[x], x]
• D[%,x] 前の出力をさらにxで微分(2次導関 数)
2次導関数を求める他の指定方法
• D[x^2*Sin[x], {x,2}]
• D[x^2*Sin[x], x,x]
不定積分、定積分
• Integrate[3 x^2+5 x-1,x]
• Integrate[Sin[x],{x,0,Pi}]
• Integrate[Log[x],{x,1,2}]
• NIntegrate[Log[x],{x,1,2}] 近似値
本日の注目ポイント
「数式」の扱いについて
• 「入力形」で、(キーボードだけを使っ て)数式を打ち込むのが効率的。
• 数式専用のエディタを使用しなくても、
キーボードからの文字の入力だけ
で数式を書き表すことは可能。
方程式も解ける
2次方程式
• Solve[x^2-3 x-4 == 0,x]
• Solve[a x^2+b x+c == 0,x] 解の公式 4次方程式
• Solve[x^4+2x^3+6x-9 == 0,x]
5次方程式の近似解
• NSolve[x^5+2x^4+3-x^2+2x-5 == 0,x]
• 分数方程式、対数方程式なんかも解ける
連立方程式も Solve
• Solve[{x^2+y^2 == 1,x+y == 0},{x,y}]
とりあえず、グラフも描けます
• Plot[Sin[2x],{x,-2Pi,2Pi}]
• Plot[Sin[2x],{x,-2Pi,2Pi},AspectRatio->Automatic]
• Plot[Sin[2x],{x,-2Pi,2Pi},AspectRatio->3/2 ]
複雑な曲線
• Plot[Log[Sin[1/x]+11/10],{x,0.03,1}]
3つの曲線
• Plot[{Exp[-x^2],-Exp[-x^2],Exp[-x^2]Cos[12x]},{x,-2,2}]
グラフに対しては指定すべきことが山ほどある。Plotの解説ページへ 行き、オプションを調べてみよう。
陰関数も描ける
• ContourPlot[x^2+y^2 == 1,{x,-1,1},{y,-1,1}]
• ContourPlot[x^2+y^2 == 1,{x,-1,1},
{y,-1,1},Frame->False,Axes->True]
• ContourPlot[(x^2+y^2)^2 == x^2-y^2,{x,-1,1},{y,-1,1}]
• ContourPlot[Cos[x]+Cos[y],{x,0,4Pi},{y,0,4Pi}]
• ControurPlotの解説ページへ行き、例題やス
コープやオプションの説明を見てみよう
パラメータ表示
• ParametricPlot[{Sin[t],Sin[2t]},{t,0,2Pi}]
• ParametricPlot[{Cos[t]Cos[5t],Sin[t]Cos[3t]},{
t,0,Pi}]
極座標も使える
• PolarPlot[Sin[6theta],{theta,0,2Pi},
PlotStyle->Red ]
• PolarPlot[Exp[Sin[theta]]-2Cos[4theta],{theta,0,2Pi}, Axes->None,PlotStyle->Green ]
3次元プロット
• Graphics3D、Plot3D、PrametricPlot3Dなど
関数f(x)を定義して微分
• f[x_]:=x(x-1)(x+3/2)
• f[x]
• Plot[f[x],{x,-2,2},PlotRange->{-1.4,1.8},AspectRatio->Automatic]
• D[f[x],x]
• f‘[x_]
• f1[x_]:=Simplify[f'[x]]
• f1[x]
• f[x_,k_]=f1[k](x-k)+f[k]
微分は「’」も使える
f(x)のx=kにおける接線の方程式 y=f’(k)(x-k)+f(k)
アニメーション
• Animate[Plot[{f[x],f[x,k]},{x,-2,2}, PlotRange->{-1.4,1.8},
AspectRatio->Automatic], {k,-1.6,1.4,0.2}]
• Animate[ContourPlot[(x-1)^2-(y+2)^2==k, {x,-1,3},{y,1,-5}], {k,-1,1,0.1}]
Kを、-1.6から1.4まで0.2刻 みで変えながらf(x)とx=kに おける接線f(x,k)を描く、16 コマのアニメーション
以上、
• 打てるだけ打って、自分で実際に計算させて 確認してみましょう
• http://www.e.gsic.titech.ac.jp/~ykuno/2015/sample2.pdf
Mathematica のグラフ編集
• グラフ描画固有のオプション類は、オプションコ マンドで指定し、きちんとグラフを描くのが基本。
でもオプションコマンドは覚えきれないので、グラ フ画像の下に出てくるメニューを使うこともできる。
• その上でグラフ中に何か特別な書き込みをした い、というような場合は、編集エディタが利用で きる。グラフ画像の上で、マウスの右ボタンを押 して「描画ツール」を起動する。
• グラフ資料は、細かい表示まできちんと整えるこ とが大事。
実習:グラフ編集
• 今日描いたグラフのどれかで、グラフ資料の 細かい指定や編集を行ってみよう。
• 描画ツールで描き込みしてみよう。
実習: Mathmatica のグラフを 画像ファイルに保存する
グラフ画像
• Mathematicaグラフ画像の上で右クリック、「形
式を選択してグラフィックスを保存」を選び、適 切な画像形式ファイルに保存する。
• どの画像形式ファイルに保存するかは、その画 像の用途によって選ぶ。
• 画像ファイルの諸形式については、教科書2.3 節p49~
実習:比べてみよう
.png画像、jpg画像、.pdfファイルの画像
• 教科書p57
• 同じグラフ画像を、.png形式、.jpg形式の画像 ファイル、.pdf形式ファイルに保存する。その 画像ファイルをビューアで表示し、拡大してみ よう。
次回までにやっておく
• Mathematicaで、{自分の好きな、あるいは描い て面白いと思うような}関数のグラフを描き、調 整する。タイトルや軸タイトルなど最低限のもの も付ける。
• そのグラフ画像を、png形式の画像ファイルにす る。ファイル名は半角英数字で、「graph1.png」 にする。
• そのグラフ画像ファイルを作る作業を行った.nb ファイルは.nb形式で保存して残しておく(png以 外の形式の画像ファイルが必要になった時のた め、など)。