雑談
世界をリアルタイムに見れるウェブサイトの紹介。
0. 前回までのあらすじ
- 授業の目的と、データ管理の重要性について説明した。
- ファイル形式、拡張子、およびパス名について説明した。
- テキストエディタの使い方を学習した。
- Google アカウント を作成しておくこと。
- 以下のパス名 (Mac) は絶対パス名か、相対パス名か?
/home/shinyama/work
- カレントディレクトリが
C
のとき…- ファイル
A
への相対パス名を答えよ。 - ファイル
M
への相対パス名を答えよ。
- ファイル
- カレントディレクトリを
/home/john
とする:
以下のフォルダ・ファイルを描き加えよ:- ./mail.txt (ファイル)
- /share/ (フォルダ)
- study/report.txt (ファイル)
- ../work/exp1.data (ファイル)
- /home/mary/fig.plot (ファイル)
- ./study/../../game/ (フォルダ)
1. テキスト形式について (つづき)
- 拡張子が
.txt
以外の「テキスト形式」:- HTML形式:
.htm
(.html
) - CSV形式:
.csv
- TeX形式:
.tex
- ...
- HTML形式:
- これらの形式はすべてテキストエディタ (メモ帳・テキストエディット) で開ける。
- この授業で究極的にやること:
「テキスト形式のファイルをうまいこと作成し、それを提出する」
- この授業スライドのページ (HTMLファイル) をブラウザで開き、ファイルとして保存せよ。
- 保存したファイルが置かれている位置 (パス名) を答えよ。
- HTMLファイルをテキストエディタで開き、中に隠されている合言葉を発見せよ。
(なお、HTMLファイルを普通にダブルクリックするとブラウザが開いてしまうので、 テキストエディタを開いておいて、そこにドラッグ・ドロップするとよい。)
2. 「ターミナル (コマンド プロンプト)」とは何か?
2.1. ターミナルを起動する
Windowsの場合
- スタートメニューから Windows システムツール → コマンド プロンプト を選ぶ。
Macの場合
- Finder のメニューから 表示 →
ユーティリティ を選び、
ターミナル
のアイコンを開く。
2.2. ターミナルの使い方・超基本
- コマンドを入力して Enter を押す。
- コマンドには、実行するアプリのパス名を入力する。
- そのアプリが実行され、結果が表示される。
- → 1. に戻る。
文字入力するときの注意
- 2種類の英字に注意。
- 全角: Godzilla.
- 半角: Godzilla.
- コマンドは必ず半角 (英数字モード) で入力すること!
- じつは世界には似たような文字が一杯ある。
- AAΑАĄ
文字コード:
アプリのパス名をコマンドとして入力すると、そのアプリが実行される。
- Windowsの場合:
コマンド・プロンプトを開き、以下のコマンドを半角で入力せよ:- C:\Windows\System32\notepad.exe
- Macの場合:
ターミナルを開き、以下のコマンドを半角で入力せよ:- /System/Applications/TextEdit.app/Contents/MacOS/TextEdit
2.3. ターミナルの便利な機能
- スクロール機能
- 履歴機能: 以前に入力したコマンドに ↑ と ↓ キーで戻れる。
- 補完機能:
→ /Sys Tab → /System/App Tab → /System/Applications/Tex Tab → /System/Applications/TextEdit.app/Con Tab ...
- Windowsの場合:
- C:\Windows\System32\mspaint.exe
- Macの場合:
- /Applications/Safari.app/Contents/MacOS/Safari
2.4. なぜターミナルがいいのか?
- 「やること」を言葉で書ける。
アイコンやウィンドウを使った入力方式を GUI (Graphical User Interface) と呼ぶ。 これは、直感的ではあるが指示しにくい。「ここをクリックして、あれをドラッグして…」
- より細かく条件・処理を指定できる。
例. 「東工大のウェブサイトにあるPDF形式のファイル」をすべて検索:
Google検索: site:titech.ac.jp filetype:pdf - より厳密に書ける:
- 「1から始まるn個の奇数を2乗したものをすべて足した数」
- Σi=1...n (2i - 1)2
科学における再現性とは
- 再現性 = 「誰がやっても、同じようにやれば同じ結果になること」
(物理実験・化学実験は??) - きちんとした手順を言葉で書き残しておくことが重要。
3. ファイルとフォルダ (つづき)
- パソコン上のすべてのファイル・フォルダの位置は、パス名で表せる:
- /B/K
- /A/E/X
以下のコマンドを入力し、結果を確認せよ。
- Windowsの場合:
- dir C:\Windows\System32
- dir /w C:\Windows\System32
Windows では、dir コマンドを使うと、 指定されたパス名のファイル一覧を表示できる。 短縮表示するには dir /w を使う。
- Macの場合:
- ls /Applications/Utilities
- ls -l /Applications/Utilities
Mac では、ls コマンドを使うと、 指定されたパス名のファイル一覧を表示できる。 詳細表示するには ls -l を使う。
3.1. カレント・フォルダ
- パス名を使うことの問題: いくらでも長くなりうる!
/Applications/Safari.app/Contents/MacOS/...
- いちいちパス名を入力するのは面倒。簡単にできないか?
→ いま注目している (カレント, current) フォルダという考え。
以下のコマンドを順に実行し、何が起きたのか観察せよ:
- Windowsの場合:
- cd
- dir
- cd \Windows
- cd
- dir
- Macの場合:
- pwd
- ls
- cd /Applications
- pwd
- ls
現在の「注目しているフォルダ」のことを 「カレント・フォルダ」あるいは 「カレント・ディレクトリ」と呼ぶ。 (もともとフォルダはディレクトリと呼ばれていた。 用語としては、ディレクトリのほうが古い。)
Windowsの場合
- cd (Change Directory) コマンド:
カレント・フォルダのパス名を表示する。 - cd パス名 (Change Directory) コマンド:
カレント・フォルダを指定したパス名に変更できる。 - dir コマンド:
パス名を省略して実行すると、 カレント・フォルダのファイル一覧を表示する。
Macの場合
- pwd (Print Working Directory) コマンド:
カレント・フォルダのパス名を表示する。 - cd パス名 (Change Directory) コマンド:
カレント・フォルダを指定したパス名に変更できる。 - ls コマンド:
パス名を省略して実行すると、 カレント・フォルダのファイル一覧を表示する。
- 自分のデスクトップ (フォルダ) のパス名を確認せよ。
- cd コマンドを使って、 現在の注目フォルダを自分のデスクトップフォルダに変更せよ。
- テキストエディタを使って、デスクトップ上にテキストファイルを作成せよ。
- pwd または ls コマンドを使って、 いま作成したファイル名が現れていることを確認せよ。
雑談・その2
- 京大論文不正 PCデータに改ざんの痕跡 認定の決め手に
「ハードディスクのデータを復元」… そんなことできんの?実は、削除したファイルの 0 と 1 は、(上書きされない限り) まだディスク上に残っている。
4. matplotlib入門
4.1. matplotlib とは?
- グラフを描画するための機能。科学論文でよく使われる。
- 2通りの方法で利用できる:
- Google Colaboratory を使う。
- 自分の PC にインストールして使う (4GB程度のディスク空き容量が必要)。 まず、 Anaconda システム をダウンロードしてインストールし、 その後 Jupyter Notebook アプリを起動する。
本授業では、おもに a. の方法を利用するが、 b. を使ってもよい (結果は同じである)。
Google Colaboratory を使う場合
- Google Colaboratory にログインする。
- File メニューから New Notebook を選ぶ。
- 以下のような画面が出る。この枠内に文字を入力する。
Jupyter Notebook を使う場合
- Jupyter Notebook を起動する。
- New Notebook (Python3) を選ぶ。
- 以下のような画面が出る。この枠内に文字を入力する。
4.2. グラフを描画する
Google Colaboratory (あるいは Jupyter Notebook) で 以下のプログラムを入力し、 再生 (あるいは Run) ボタンを押して実行せよ。 (キーボードの Ctrl + Enter でも実行できる。)
ちなみに、この「プログラム」の内容は理解できなくて大丈夫。 基本的に与えられたものをコピー・ペーストすれば動く。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) plt.plot(x, np.sin(x), label="sin(x)") plt.xlabel("x label") plt.ylabel("y label") plt.title("Simple Plot") plt.legend() plt.show()
正しく動作していれば、以下のような画面が表れるはずである:

時間に余裕があれば、以下もやってみよう:
- 上のプログラムの中で、以下の行
を次のように書き換え、結果を観察せよ。plt.plot(x, np.sin(x), label="sin(x)")
plt.plot(x, x, label="linear") plt.plot(x, x**2, label="quadratic") plt.plot(x, x**3, label="cubic")
- プログラム中の "〜" で囲まれている部分
(
"Simple Plot"
,"x label"
,"linear"
など) を 書き換え、結果を観察せよ。 - (さらに時間がある人向け) Matplotlib Gallery にある プログラムをいくつか描画してみよう。
4.3. グラフを画像ファイルとして保存する
上のプログラムに以下の一行を追加すると、 描画したグラフを実際に PNGファイルとして保存 (ダウンロード) することができる。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) plt.plot(x, np.sin(x), label="sin(x)") plt.xlabel("x label") plt.ylabel("y label") plt.title("Simple Plot") plt.legend() plt.savefig("sinx.png") plt.show()
注意:
plt.savefig(...)
の部分は
必ず plt.show()
の前に書くこと。
Google Colaboratory を使う場合
Google Colaboratory は、内部にファイルを持っている。
上のプログラムが正しく動作すると、
sinx.png
ファイルが生成される。
これを自分の PC にダウンロードするには、以下のようにする。
- 画面の左側の「フォルダ」アイコンをクリックする。
- 初期化にしばらく時間がかかるので、10秒ぐらい待つ。
-
sinx.png
というファイルが表示されるので、 右クリックして Download を選ぶ。 - ダウンロードしたファイルを PC 上に保存する。
Jupyter Notebook を使う場合
Juypter Notebook では、
画像ファイルは自分のホームフォルダ内に保存されている。
フォルダを開いて sinx.png
が生成されていることを確認する。
(なお、作成した Notebook 自体もホームフォルダ内に保存されている。)
各自ブレイクアウトルームに分かれて、 上の matplotlib の演習 2-8, 2-9 を実際にやってみよう。
- 全員で簡単な自己紹介をする。(カメラをオンにしたほうが仲良くなりやすい。)
- まだ演習が終わっていない人 (あるいは、何すればいいかわからない人) が手をあげる。
- その人の画面を共有し、周囲の人がやり方をガイドする。(TAも巡回します)
- 全員が終わったら、残りの時間は雑談する。
注意: ネット接続が不安定になる人は、カメラを切ってもよい。 万が一、接続が途切れてしまったときは、もう一度入りなおすこと。
5. 本日のまとめ・小課題
- ターミナルの使い方を学習した。
- dir / ls コマンド
- cd コマンド
- pwd コマンド
- 長いパス名を省略する方法として、
カレント・フォルダという考え方を学習した。
- matplotlib を使ってグラフを描いてみた。
小課題 2. グラフの画像を保存する (6月27日締切)
- 締め切り: 6月27日 (1週間後)
- 上で説明した方法を使って、なんらかのグラフを描画し、
その画像ファイル (ファイル名はなんでもよいが、PNG形式であること)
を提出せよ。
- dir / ls コマンド
- cd コマンド
- pwd コマンド
- 締め切り: 6月27日 (1週間後)
- 上で説明した方法を使って、なんらかのグラフを描画し、 その画像ファイル (ファイル名はなんでもよいが、PNG形式であること) を提出せよ。