9 EXCEL, MATHEMATICA 2008年度 電子計算機及び実習 61
電子計算機および実習 第 9 回 (12/8)
9 Excel, Mathematica
9.1 今日のテーマ
* Excelによる表計算
* Mathematicaによる3Dグラフィックス作成
**今日の提出課題
1. 学内の自分のウェブページにおいて,次のファイルを公開すること.
3D-graph.pdf 課題9.6で作成されたもの.
2. 今日の授業でできたファイルseiseki.xlsx を添付して,s-suzuki あてに署名をつけて送信せよ.メール には,自分のウェブページのURLを記し,署名を付け,Subject は「学籍番号+Dec08」とせよ.
9.2 Excel による表計算
表計算ソフトでは,セルと呼ばれる長方形に,数値や数式を記入することによって,合計や平均などを手軽に 計算させることができる.最近では,単にワープロ代わりに用いられることも多いが,表計算ソフトの真価はや はり計算である42.
表計算ソフトは,MicrosoftのExcel が最もよく用いられている.他に,近年開発されたOpen Officeはフリー であり,Unix上でも用いることができ,さらにExcelとの互換性もあって,注目されている.授業では,教室環 境の都合により,Excel を Windowsの上で用いる.まずは,どのように用いられるのか,サンプルを見てみよ う.Excel ファイルには通常.xlsまたは.xlsx という拡張子を付ける43.
課題 9.1 授業のページから,sample.xlsxをダウンロードし,Excel で開いてみよ(アイコンをダブルクリック すればよい).
各セルにはA1,B3など名前が付いている.今どのセルを選択しているかは,ウィンドウ左上の名前ボックス に表示されている.では,4行目を見てみよう.左から,A4に“鉛筆”,B4に“80”,C4に“120”,D4に“9600”
と表示されているだろう.このように.セルには文字や数を入力することができる.日本語を入力するには,キー ボード左上の「半角/全角キー」を押して全角にする.ただし,数値や数式を入力するには半角にしなければなら ない.ところで,実は B4,C4 の数値はユーザが入力したものであるが,D4の数値は計算機が自動的に計算し てくれたものである.これを見るには,D4のセルをアクティブにして(キーボードでカーソルをD4に動かすか,
マウスでD4をクリックする),ウィンドウ上部の数式バーを見てみよう.すると,
=B4*C4
となっているだろう.例えば,C4に好きな数値を入力してみよう.その瞬間に,D4の数値も自動的に変更され る.この機能は再計算といい,表計算ソフトの便利な所である.次に,D9のセルを見てみよう.
=SUM(D4:D8)
となっている.これはD4からD8までの和を計算して表示しなさい,ということである.また,例えば=SUM(B2,C3,D4) などとすれば,列挙したセルの数値の和が返される.この SUMのようなものを関数という.関数名は基本的に大 文字であるが,小文字で入力しても自動的に大文字に直してくれる.以下によく関数をまとめておく.
42計算をさせずに表を書くだけなら,TEXの方がきれいに書けるし,拡張性も高い.
43授業で用いるExcel 2007のファイルには拡張子.xlsxを付ける
9 EXCEL, MATHEMATICA 2008年度 電子計算機及び実習 62
Excel でよく用いられる関数
関数名 説明 例
SUM 和 SUM(A1:A5): A1からA5の和
AVERAGE 平均 AVERAGE(A1:A5): A1からA5の平均 MAX 最大値 MAX(A1:A5): A1からA5の最大値 MIN 最小値 MIN(A1:A5): A1からA5の最小値 STDEVP 標準偏差 STDEVP(A1:A5): A1 からA5の標準偏差 COUNT 個数 COUNT(A1:A5): A1 からA5までの数値の個数 SQRT 平方根 SQRT(A1): A1の平方根
ROUND 四捨五入 ROUND(A1,2): A1 を四捨五入して小数第2位まで表示
IF 条件分岐 IF(A1>100,B1,B2): A1が100 より大きければB1を,そうでなければ B2を表示
課題 9.2 新しくファイルを開き,seiseki.xlsxと名前を付けよ(Windowsでは,拡張子は勝手に付けてくれる ので,seisekiとだけ入力すればよい).高校または中学校の先生になったつもりで,成績管理のExcel ファイル を作成しよう.次の成績のデーターをExcelでまとめ,各テストの平均点,各生徒の合計点,平均点,および成 績を表示させよ.ただし,成績の表示は,生徒の平均点が「50未満なら1を,50以上60未満なら2を,60以 上 70未満なら3 を,70以上80未満なら4 を,80以上なら5 」となるようにせよ.
生徒 1学期中間 1学期期末 2学期中間 2学期期末 3学期期末
A 94 96 71 33 78
B 100 90 93 87 93
C 65 68 56 38 67
D 84 76 81 43 82
E 77 91 66 31 55
F 95 88 87 82 76
G 100 97 98 94 98
H 72 83 74 42 67
I 84 58 53 46 56
J 78 90 61 58 63
Excelでは,メニューバーを用いることにより,次のようなことができる.
• 文字や数値の大きさを変える.
• 文字や数値の種類(フォント)を変える.
• 文字や数値の色を変える.
• 文字や数値がセルの中で左寄せ,中央寄せ,右寄せのいずれであるかを変更する.
• セルに色を塗る.
• 罫線を引く.
また,行や列を選択して右クリックすることにより,幅の長さを変更したり,削除や挿入ができる.
「下方向へコピー」や「右方向へコピー」は使える技である44.例えば,C1セルに“=A1+B1”と書かれていた として,これを一つ下の C2セルにコピーすると,自動的に“=A2+B2”となる.しかし,時には A1は A1のま まにしておきたいこともあるだろう.そのような場合には,“=$A$1+B1” としておく.これを一つ下のセルにコ ピーすると,“=$A$1+B2” となる.また,他のシート,例えばSheet1 のA1セルを参照するには,Sheet!A1と 入力する.
44コピーしたい範囲を指定して,画面上部の下向き矢印のアイコンを→「下方向へコピー」とする.または,コピー元のセルを選択して右 下にポインタを持っていき,ポインタの形状が+になった所で下にドラッグする.
9 EXCEL, MATHEMATICA 2008年度 電子計算機及び実習 63
9.3 Mathematica による 3D グラフィック作成
Mathematicaは非常に多くの数学的関数を備えた数式処理アプリケーションであり,Unix,Windows,Macintosh の各 OS 上で使える.方程式を解いたり,微分積分をしたり,いろいろなことができる45 が,今日は 3D グラ フィックを作成しよう.その後 EPSファイルとして保存して,TEXに挿入する.
まず,Mathematicaを起動しよう.それには,デスクトップ上の Mathematicaアイコンをダブルクリックす ればよい.以後,MathematicaのプロンプトをIn[%]=で表す.また,Mathematicaでは評価のために Shift⇑
+ Enter ( Shift⇑ キーを押しながら Enter キーを押す)というキー操作を頻繁に行う.
次は,z= sin(xy)のグラフを 0≤x≤3,0≤y≤3 の範囲で描く命令である.x とyの間には空白が必要で あるから注意すること46.他にも,大文字小文字の別,括弧の種類などに気を付けること,少しでも間違えると 期待通りの結果は得られない.
In[%]= Plot3D[Sin[x y],{x,0,3},{y,0,3}] Shift⇑ + Enter
媒介変数表示を用いて 3Dグラフィック を描くには,ParametricPlot3Dという命令を用いる.次は,極座標 表示を利用して単位球を描く命令である(以下, Shift⇑ + Enter は省略する).ここに,Piは円周率を表す.
In[%]= ParametricPlot3D[{Cos[u]Cos[v],Cos[u]Sin[v],Sin[u]},{u,0,2Pi},{v,0,Pi}]
余裕がある者は,次を実行してみよ47.PlotPointsはプロットする点の個数である.この値を大きくすると,図 形が滑らかになるが,反面描画に時間がかかる.Axes->Noneで軸を,Boxed->Falseで枠を省略する.ViewPoint は視点の座標である.
In[%]= makigai=ParametricPlot3D[{(v+0.7v Cos[u])Cos[v],(v+0.7v Cos[u])Sin[v], -1-v^2/10+0.7v Sin[u]},{u,0,2 Pi},{v,0,5 Pi},PlotPoints->{25,50}];
In[%]= Show[makigai,Axes->None,Boxed->False,ViewPoint->{1.418,-3.040,0.447}];
次に,これらの3DグラフィックをTEXに取り込もう.
課題 9.3 上で描いた3つの図形のうち,好きなものをEPSファイルとして保存し,3D-graph.epsと名前を付 けよ.具体的には,図形をクリックして選び,メニューバーで「ファイル」→「選択範囲の形式保存」→「EPS」 とすればよい.それから,3D-graph.epsをtexディレクトリに移動もしくはコピーせよ.
課題 9.4 以下のようなLATEXのソースファイル3D-graph.texをtexディレクトリ下に作り,コンパイルとプ レビューを行いなさい.ただしコンパイルは2回行うこと.また,自分の氏名と学籍番号とあるところは,自分 の氏名と学籍番号で置き換えなさい.また,xxxxxxxxの部分は,自分で適当に補いなさい.
\documentclass{jarticle}
\usepackage{graphicx}
\begin{document}
\begin{flushleft}
2008年12月8日
\end{flushleft}
\begin{flushright}
45興味があるものは関連文献を調べよ.次のページも参考になる.http://www.ma.noda.tus.ac.jp/u/tg/mathematica.html
46空白を省いてxyとすると,Mathematicaはx×yではなく,xyという一つの変数と認識する.
47出典 『はやわかりMathematica第2版』 榊原進著,共立出版.
9 EXCEL, MATHEMATICA 2008年度 電子計算機及び実習 64
自分の氏名 学籍番号
\end{flushright}
以下の図\ref{fig:1}は,\texttt{xxxxxxx} である.
\begin{figure}[h]
\includegraphics{3D-graph.eps}
\caption{xxxxxxxx}\label{fig:1}
\end{figure}
\end{document}
課題 9.5 上の課題で作成した3D-graph.dviをPDF形式に変換し,3D-graph.pdfというファイルを作成しな さい.
具体的にはtexディレクトリで以下のようにすればよい.
% dvips -o 3D-graph.ps 3D-graph.dvi
% ps2pdf 3D-graph.ps
できたPDFファイルをgvでプレビューしてみよ.
% gv 3D-graph.pdf
課題 9.6 上の課題で作成した 3D-graph.pdfを自分のウェブページで公開せよ.
具体的には,3D-graph.pdf をjwww ディレクトリに移し,jwww/index.htmlにおいてリンクを設定すればよ い.パーミッションに気を付けること.一度自分でアクセスして,ファイルが見れるかどうかチェックした方がよ いだろう.
9.4 参考 : gnuplot で 3D グラフィックを描く
Mathematicaよりやや見栄えは劣るが,UNIX上のアプリケーションgnuplot でも3Dグラフを描くことがで きる.z= sin(xy)のグラフと単位球を描いてみよう.gnuplotについては,次回以降に詳しく取り挙げる.
% gnuplot
gnuplot> splot [0:3] [0:3] sin(x*y) gnuplot> set parametric
gnuplot> splot cos(u)*cos(v), cos(u)*sin(v), sin(u)
9.5 本日の課題
1. 学内の自分のウェブページにおいて,次のファイルを公開すること.
3D-graph.pdf 課題9.6で作成されたもの.
2. 今日の授業でできたファイルseiseki.xlsx を添付して,s-suzuki あてに署名をつけて送信せよ.メール には,自分のウェブページのURLを記し,署名を付け,Subject は「学籍番号+Dec08」とせよ.
9.6 次回のテーマ
暗号.