京都工芸繊維大学工芸学部機械システム工学科 「エンジニアのためのリテラシー」講義資料 表計算ソフト・「Microsoft Excel」の使い方 はじめに 集計計算,グラフの作成,データの分類や抽出,プログラミングなどの処理が一つで行えるアプリケーションソフ トを表計算ソフトという.Microsoft 社の Excel はその代表的なソフトであり,機械工学の分野でもよく使われる.こ こでは,ヒットミスモンテカルロ法による円周率の計算を通して,Excel の基本的な使い方を学ぶ. Excel の画面 図1に,Excel の画面の各部分の名称を示す. タイトルバー メニューバー ツールバー 数式バー 列番号 セル ワークシート:セルの集まり ブック:ワークシートの集まり 行番号 シート名 図1 Excelの画面 ヒットミスモンテカルロ法による円周率の計算 モンテカルロ法とは,多数の乱数を使って問題の解を数値的にシミュレーションする方法である.解析的に解く ことが難しい問題に利用されることが多いが,ここでは既知の解と比較する事例を取り上げる. ヒットミス法は,試行を繰り返し,条件にヒットした回数の総試行回数に対する割合から解を求める方法である.円 周率(半径1の円の面積)をこの手法で求める場合は,以下の手順を行う. 1. [-1,1]の範囲の乱数x,yを発生させ,それらをx座標,y座標として図2のグラフ上にプロットする 2. 手順1を,任意の回数繰り返す 3. 図2の円内に入っているプロットの数を,全プロット数で除す 1 Excel による計算の手順 y ミス 1. Excel を起動し,図1の画面を開く. 2. セルには文字列や数値,数式を書 ヒット き込む.まず,任意のセルをクリック して,図3のように文字を書き込む. 1 × × 3. 「x座標」,「y座標」の下のセルに, 次の数式「 = RAND () * 2 − 1 」を書 き込む.「 = 」をつけると文字列では -1 o x 1 なく数式と扱われ,セルには計算 結果が表示される.もとの数式は数 式バーに表示される(図4). -1 RAND() は Excel 関数の一つで, [0,1]の範囲の乱数を発生する. この式から[-1,1]の範囲の乱数 図2 ヒットミスモンテカルロ法による円周率の計算方法 が発生することになる.次に,「原点 からの距離」の下のセルに「 = SQRT ( B 2^ 2 + C 2^ 2) 」と書きこむ. SQRT () は平方根を計算する関数で, 「^」はべき乗の記号である.B2,C2 には,それぞれ B2 セル,C2 セルの値が代入される. 図3 セルへの書き込み 図4 数式の書き込み 4. 次にオートフィル機能を使ってデータを試行回数分作る.図5のように,B2 から D2 のセルを選択し,セルの 右隅にカーソルを持っていく.図のようにカーソルが「+」になったら,下にドラッグする.これにより,下のセ ルに上のセルの内容がコピーされる.ここでは1万行以上ドラッグする.ドラッグ後,例えば D10 のセルの数 式を確認すると,「 = SQRT ( B10^ 2 + C10^ 2) 」となっており,自動的に数式内の対象セルが変換されて いることがわかる(図6). 5. 任意のセルに,図7のように書き込む.次にヒット数を計算する.「ヒット数」の下の,例えば「総試行数」が 100 の隣のセルには「 =COUNTIF(D2:D101,"<=1") 」と書き込む.関数 COUNTIF (範囲, 条件) は, 指定した範囲にあるセルのうち,指定した条件を満たすセルの数をカウントする関数である.「 D 2:D101 」 は,D2 セルから D101 セルまでの範囲を示し ており,ここでは 100 の原点からの距離デー タを意味している.この関数の計算結果から, 100 点のうちの図2の円内にあるデータ点の + 数がわかる.同様に他のヒット数のセルにも 書き込む(図8). 図5 オートフィル機能によるセルの内容のコピー 2 図7 セルへの書き込み 図6 自動的に修正された数式 6. ここで,H2 のセルには「 =G 2/F 2 」,I2 のセルには 「 = H 2* 4 」と書き込む.これにより,ヒット率と,それに一 図8 ヒット数の書き込み 辺の長さ2の正方形の面積を乗じて計算された円周率 が求められる.ドラッグにより残りのセルにもコピーする (図9).試行回数が多くなるにつれ,計算された円周率 がπに近づくことがわかる. 7. メニューバーの「書式」や,書式ツールバー上のボタン を用いると,セルの装飾が行える.(図1 0) 図9 ヒット率,円周率をコピー グラフの作り方 Excel では様々なグラフを作ることができる.ここでは,前に求 めた試行回数と計算された円周率との関係をグラフに表して みる. 1. 図11のように,総試行数と円周率のセルを選択する.離 れたセルを同時に選択するときは Ctrl キーを押しながら ドラッグする. 2. 次にツールバーの 図10 セルの装飾 ボタンをクリックしてグラフウィザ ード(図12)を開く.「散布図」→「データポイントを平滑 線でつないだ散布図」を選び,「完了」をクリックする.散 布図は,x座標とy座標を指定してプロットを行うグラフで ある.ここでは総試行数がx座標,円周率がy座標のデ ータとなる. 3. 図13のようなグラフが現れるが,x軸が対数目盛でない とわかりにくい.そこでグラフのx軸をダブルクリックして 3 図11 離れた部分の同時選択 軸の書式設定の画面を出し,「目盛」タブを選択し 「対数目盛を表示する」にチェックを入れて「OK」をク リックすると,図14のようにグラフが変更される. 4. 各部分をダブルクリックすると属性を様々に変更でき る.また,メニューバーから「グラフ」→「グラフオプショ ン」を選択したり,グラフウィザードを使うとデータ系列 の追加やグラフタイトルの変更が可能である.体裁を 整えたグラフを図15に示す. プログラミング 図12 グラフウィザード Excel は VBA(Visual Basic for Applications)という環境を 用いてプログラミングを行える.プログラムを組んで計算す る方法を示す. 1. メニューバーから「ツール」→「マクロ」→「マクロ」とた どり,開いたマクロ作成画面で適当なマクロ名(ここで は’hit_miss’という名称にしている)を入力し「作成」を クリックする. 2. VBA の画面が新たに開く.コード記述ウィンドウに,図 16のプログラムを書き込む.ここでは内容については 詳述しない. 図13 作成されたグラフ 3. メニューバーから「実行」→「Sub/ユーザーフォームの 実行」を行うと,Excel のシートに計算結果が表示され る(図 17). 図14 x軸を対数目盛に変換 図15 完成したグラフ 4 図16 プログラムの記述例 図17 プログラムによる計算結果 5
© Copyright 2024 ExpyDoc