Excelのグラフと表計算 それを用いたエントロピーの計算

Download Report

Transcript Excelのグラフと表計算 それを用いたエントロピーの計算

Excelのグラフと表計算
それを用いたエントロピーの計算
田浦健次朗
余談: コマンドラインまめ知識
• 補完
– ファイル名やコマンド名入力の途中でTabを押
すと可能性が一通りの範囲で自動入力
• ヒストリ
– プロンプトに上矢印で直前のコマンドが表示さ
れる
– 矢印キーなどでカーソル移動, 編集可
• openコマンド
– Finderでクリックする代わり
今週の目標
• ヒストグラムのデータからExcelを用いて
– ヒストグラムのグラフ化
– エントロピーの計算(表計算機能)
• いろいろなファイルに対して
– エントロピーの計算
– 圧縮ソフトで圧縮して, 圧縮率の計算
注目点
• エントロピーはいくらの範囲であるはずか?
• どのようなファイルはエントロピーが大きい
か?
• エントロピーの大小と圧縮率の関係
Excelの基本
セルB3
セル
入力した文字列の修正
(新しいOffice)
• セルをダブルクリック
– 普通のクリックだと入力した瞬間に以前の入
力が消去されてイラッとくることに
入力した文字列の修正
(古いOffice)
• セルではなく画面上部の入力欄で修正
– セルそのものを入力すると前の入力は全部消
え, いらつくことに
コピー&ペースト
• Excelのセル間で
– 1-1
– 1-多数
– 多数-多数
• テキストエディタから
– タブで区切られた領域
(おまけ)等差数列の入力
• グラフのx軸データなどを作る際に重宝す
る
Excelの表計算機能
• 直接数値を入力するのではなく, 数値を計
算する「数式」を入力
– 数値はExcelが計算する
• 他のセルを参照する記号を含むことができ
る
• あるセルの値を元に別のセルの値を計算
• どんな数式を入力したかがわかるように,
メニュー->「表示」->「数式バー」を選んで
常時表示させるとよい
数式
• =で始めると数式の意味になる
• =2+3
• =log(100), =log(100, 2), =sin(1.57)
– 関数
• =if(1<2, “hello”, “bye”)
– これも関数の一種
• =if(1<2, hello, bye)はエラーなので注意
他のセルの参照
• =A1
– セルA1の値 (A1だけだと, “A1”という文字列の意味)
• =A1+1
• =log(A1)
• =if(A1>0, log(A1), log(-A1))
– 注: = はあくまで数式全体を始める記号
– =if(A1>0, =log(A1), =log(-A1))は間違い
• =A1+B1
• =sum(A1:A10)
– A1+A2+…+A10
紛らわしいこと
• A1
– 単にA1という文字列が表示される
• =A1
– セルA1の値を表示
• =“A1”
– 数式中での文字列の表現
– つまり最初のA1と同じこと
いろいろな参照の方法
• 行や列の記号の前に$をつけるか否か
– =A1
– =A$1
– =$A1
– =$A$1
• 違いは後で説明
数式入りのセルをコピー&ペー
ストすると面白いことがおこる
• B4をB5:B9へコピー
• コピーされるのは数値ではなく数式
• 参照は「平行移動」する
参照の平行移動
• セルP5をセルQ7へコピーしたとする
• P5がセルA1を参照しているとき, Q7へコ
ピーされるのは, B3
A1
B3
P5
=A1
Q7
=B3
4つの参照方式の違い
• 列や行の記号の前に$をつけると(それぞ
れ)列や行は平行移動しない
– $A$1は「必ず」A1を参照する
– A$1は?1を参照(?は平行移動で決まる)
– Etc.
課題
• 先週作ったcsvファイル(ファイル中のバイトの出
現回数)を読み込む
• Excelのグラフ機能を用いて頻度をグラフ化せよ
• Excelの表計算機能を駆使して, ファイルの「エン
トロピー」を計算せよ
– あり得る計算結果はいくつからいくつまでか?
• 色々なファイルのエントロピーを計算してみよ(講
義HPよりダウンロード, その他)
– エントロピーが低い・高いと予想されるファイルは?