計測工学基礎
2023.04.12

Back



  1. 本日の作業内容

  2. はじめに

    今年度の計測工学基礎は720教室での対面授業となります.演習作業がありますので,各自ノートPCを持参してください.なお,教室のPCですが,出席を取るために使用します.詳しくは初回の授業で説明します.

    この授業では,全体としては,平均値や標準偏差などデータ整理で使用する最も基本的な部分から,正規分布に従う誤差についての取り扱い,また,それを考慮した相関係数や線形回帰などを扱います.後半では,バラつきの大きいデータを扱う際に重要な統計的仮説検定について実習します.

  3. 演習

    本日はまずは表計算ソフトEXCELを用いて,乱数の出現頻度について作業を行っていきます.

    1. Microsoft365

      本学の学生は全員Microsoft365を無料で使用することができます.WebブラウザがあればOfficeの使用が可能ですが,ブラウザ版は機能が限定されているので,実際にダウンロードしてから使用しましょう.大学のメールアドレスで以下のサイトにログインします.

      Microsoft365

      ログイン後にウインドウの右上の方にある「Officeのインストール」をクリックしてインストールしてください.

      既に使用している人は改めてインストールし直す必要はありません.
    2. EXCEL起動

      エクセルを起動すると図1のようなウインドウが開きます.


      図1 エクセル起動時の画面

    3. rand()の使用

      今回使用するのは乱数を発生させる関数rand()です.セルウインドウの上のメニューから「数式」をクリックして「 fx 」とある関数メニュー(図2)を試しに選択してみましょう.


      図2 関数メニュー呼び出しアイコン

      図3のようなダイアローグウインドウが出てきたと思います.今回はジャンルを数学関数にしていますが,「すべて」でも他のものでも rand は出てくると思います.


      図3 関数メニュー

      OKボタンをクリックすると一番左上のセルに関数が入ります.図4のような引数に関する注意ダイアローグも出るはずです.


      図4 関数入力

      rand()のようにC言語と同じで,関数にはカッコ()がつきます.この関数は説明にあるように引数を取らないので,そのまま「OK」をクリックするとセルの中に数値が入ります.rand()は0以上1未満の間の数をランダムに発生させます.


      図5 実際に値が入ったところ

    4. 頻度の計算(countif()の使用)

      本日の作業としては,乱数の発生確率がどの程度均等なのかについて確認することを試してみます.rand()関数を用いてたくさんの乱数を発生させ,ばらつきを見ていく作業です.以下のような手順で行いますが,そのときどきでちょっとした細かい作業も入りますので,操作がわからないときにはメールなどで質問してください.

      1. 乱数表作成

        表計算ソフトの便利なところはあるセルに入力した値や式をそのセルをドラッグして拡張していくことで内容をコピーできることです.その機能を利用して0から9までの10個の整数を100個,1000個,10000個発生させてばらつきを見ましょう.

        まず乱数の範囲を指定しないといけません.rand()関数は0以上1未満の実数を発生させます.なので,単純に10倍すると0以上10未満の実数となります.それを切り捨ての関数floor()を使用して整数に「丸め」ます.すると,0〜9のどれかの整数になります.四捨五入のround()を使ってしまうと,0以上10以下の整数になってしまいますので,間違えないでください.

        まず適当に左上のセルに式を入力します.


        図6 式入力

        エクセルのfloor()では引数仕様を見ると,数値,基準値と2個になっています.数値は良いのですが,基準値というのがわかりにくいですね.単純に整数になるように切り捨てるためには基準値として1を入れます.一番近い1の倍数(即ち整数)に切り下げるという意味になります. Enterを押して確定すると図6のように値がセルに表示されます.

        次にそのセルの右下の黒ポチ(ハンドラ)をドラッグして縦に10個分発生させます.


        図7 数式のドラッグによるコピー

        マウスボタンを離して範囲が確定すると値が表示されます.次にそれら10個のセルを選択したまま右にドラッグして10×10の合計100個の乱数を発生させます.


        図8 横にドラッグ

        ドラッグが完了すると100個の乱数が表示されます.また,この操作は2回に分けなくても縦横へのドラッグで1度に行うことも可能です.

        気づいた人もいると思いますが,ドラッグなどを行って新たなセルに式をコピーするたびに乱数の値が再計算されて変わっていきます.
      2. countif()

        次にそれぞれの整数が何回出たかを数える関数countif()を使って数えます.実際に100個の乱数を発生させた後,別に縦に0から9の数値を入れたセル列を用意し,その右側にcountif()関数で頻度を数えるセルを用意します.一番上に用意して,後は下にドラッグすることで合計10個分のセルが作れます.


        図9 カウントさせる数の列作成

        countif()で0が発生した回数を求める式を0の右側のセルに入力します.入力途中でアシスト機能で関数の文法が表示されます.標準書式は以下になります.

        countif(探索する最初のセルの番地:探索する最後のセルの番地,探索対象)
        

        今の場合は数値なので,探索対象には左隣のセルを参照させるだけで構いません.特定の文字列を探す場合には二重引用符 " " で囲む必要があります.数値の場合には二重引用符は不要です.

        今の場合は上の乱数を発生させたエリア全体を指定しますから,ドラッグでエリアを確定してください.


        図10 探索範囲をドラッグで指定

        左隣の値を探すので,カンマ , で一度区切ってから左隣のセルを選択します.

      3. $マークによる参照セルの固定

        1が出た回数などを順に求めるためにドラッグでコピーしたいのですが,表計算ソフトではドラッグで数式をコピーすると順に選択位置も自動でずれてしまいます.それを防止するために選択範囲のセルを固定する必要があります.それはドルマーク $ を用います.セルの番地は列を指定するアルファベットと行を指定する数字で構成されています.図12ではA1からJ10までが範囲です.縦にドラッグしていくので,アルファベットの方は問題ありませんが,数字の方がずれます.そこで,数字の前に $ を入れます.数式入力ボックスの該当部分に入れてください.

        =COUNTIF(A$1:J$10,A13)


        図11 $マークによる範囲固定

        その後式を入れたセルを縦にドラッグしてコピーすると順に1から9の数字の出た回数が求められます.


        図12 ドラッグして数式コピー

        以上で乱数の発生回数の表ができました.


        図13 表の完成

    5. グラフ作成

      発生させた乱数とその頻度の表をドラッグにより選択し,メニューバーにある「挿入」をクリックして出て来るメニューから棒グラフ(2D)をクリックしてグラフ作成を行います.


      図14 グラフ作成ボタン

      グラフはできるのですが,そのままのデフォルトでは両方の列(AとB)の数値を棒グラフで表示させてしまっています.


      図15 棒グラフ

      左側のコラム(列)はデータではなく横軸に指定しましょう.グラフの図16のようにグラフ内の適当な場所で右クリックして出て来るメニューから「データの選択」を選択します.


      図16 範囲選択のダイアローグ

      図17のようなダイアローグウインドウが出るはずです.


      図17 データ範囲ダイアローグ

      この状態で,左側の凡例項目にある系列1のチェックを外してください.


      図18 データ範囲選択

      チェックを外したら右の「横(項目)軸ラベル」の「編集(T)」をクリックしましょう.すると,横軸に入れる値の範囲を指定するウインドウが出ますので,右のセルアイコンをクリックして,実際に0-9の数値が並んでいるセルを選択してEnterキーを押して確定させます.

      OKボタンをクリックするとひとまずグラフの完成です.


      図19 グラフの完成

      実際に上の追記の作業を行うと,グラフの横軸は0-9に変わります.

  4. 課題

    乱数を10000個発生させた場合のグラフを作成し,学生番号と名前をつけてからPNG形式に変換して提出してください.形式は以下のようなものになるようにして下さい.

    学生番号と名前の記入ですが,グラフ内の「グラフタイトル」をクリックして選択し,右クリックで出て来る「テキストの編集」で学生番号と名前に書き換えてください.

    以前この課題を出したところ,かなり多くの人が縦軸に0が無い状態でグラフを作成していました.Excelは場合によっては勝手に軸の値を変動範囲周辺に限定してグラフを作成します.

    Excelなどの表計算ソフトは科学技術計算ではなくビジネス用に作られているので,グラフの軸は適当です.また,ビジネスではちょっとの変化を大げさに見せるために「わざと原点を隠す」こともします.皆さんは,そのようなことが無いように,かならず原点を意識しましょう.
    次に,PNG画像に変換する方式ですが,グラフエリアを選択してコピーし,Windowsに標準の画像ソフトである「ペイント」に貼り付けて保存することでできます.ペイントを使う場合には,貼りつける前の白紙のサイズをドラッグで小さくしておいて,グラフの外側に無駄な余白が無いようにしておいて下さい.

    提出は「レポート提出システム」により行います.学外からもアクセスできますので,自宅から送付してください.

    他学科の学生さんはシステムへの登録が必要ですので,必ず縄手まで連絡してください.
  5. 次回の予習範囲

    次回はばらつきについて学習します.「分散」と「標準偏差」について,各自調べておいてください.「母集団」や「標本」という言葉もおねがいします.

    参考資料をWebにも載せて置きました.参考にしてください.


Back