- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-09-30T16:02:36+09:00","default:takataka","takataka")
#author("2017-09-30T18:11:51+09:00","default:takataka","takataka")
*SJS2017 ex02 [#f69bd8f1]
課題いっぱいありますが,1回で全部終わらせようという意図ではありません.
自分で進められるひとはどんどん先へ進めたらよいですが.
#contents
**前回分と今回分 [#kbc5dcd1]
- できたひとは,課題ごとに高橋に報告してください.それぞれのプログラムを実行すると何がどうなっているのか説明できるようにしておいてください.
- 前回分を全て報告してokをもらってから,今回分にすすみましょう.
**準備 [#fd499a5f]
- 古いページ: [[SJS/2017/ex02old]]
次のようにして,Jupyter Notebook を使えるようにしよう.
+ jupyter をインストール
$ sudo port install pyXY-jupyter
+ このままだと,Jupyter Notebook を開くコマンドが
$ jupyter-notebook-X.Y
+ このままだと,Jupyter のコマンドが
$ jupyter-X.Y
という感じになっていやんなので,~/.bashrc に alias を追加.例えばこんな感じ
alias jupyter="jupyter-3.5"
alias jupyternb="jupyter-notebook-3.5"
+ 次のようにして設定を読み込ませるか,新しいシェルを開く
$ source ~/.bash_profile
上記ができたら,次のようにして今日の課題の notebook を開いてみよう
+ 適当な場所に適当な名前のディレクトリを作成し,そこへ移動
+ jupyternb を実行
$ jupyternb
+ jupyter を実行
$ jupyter notebook (かわりに jupyternb でもよい)
+ 以下の ex02A.ipynb をダウンロードしてこのディレクトリへ移動
+ jupyter のウィンドウ内右側の「くるくる」な感じのボタンを押して,ファイルリストを更新
+ 上記のファイルが見えるはずなので,クリックして開く
+ 「課題A-1」の下のセルをクリックして,Shift-Enter を押してみる
+ いろいろいじって遊ぶ
**課題A [#y11d0b49]
&gist(0799e2d829638ac201ed364475449555);
**課題B [#x27232d1]
&gist(54686c05e5954b8dde34a4e0d1a35ffa);
**課題C [#l302a8a5]
&gist(8dd1a669924ac346e54aead360101474);
**課題D [#xd0742f3]
[[PIP/2017]] 第12回講義資料の Q1 を NumPy を利用して解いてみよう.
***課題D-1 [#s16ce9d7]
まずは手計算を併用して解いてみよう.式(7)を
&mathjax{ A\mathbf{x} = \mathbf{b} }; という形で表すことにする.
+ 2 x 2 行列 &mathjax{ A }; と 2 x 1 行列(2次元ベクトル) &mathjax{ \mathbf{b} }; を手計算で求めなさい
+ NumPy で,&mathjax{ A }; と &mathjax{ \mathbf{b} }; を与えて連立方程式 &mathjax{ A\mathbf{x} = \mathbf{b} }; の解 &mathjax{ \mathbf{x} }; を計算する方法を調べなさい
+ 実際に解 &mathjax{ \mathbf{x} }; すなわちパラメータ a, b の値を求め,連立方程式を手計算で解いた場合と同じになることを確認しなさい.
+ (課題D-2にて)実際に解 &mathjax{ \mathbf{x} }; すなわちパラメータ a, b の値を求め,連立方程式を手計算で解いた場合と同じになることを確認しなさい.
***課題D-2 [#c4174322]
&gist(17be3cdc1fa5aece841ba2ca0418742a);
**おまけ [#x0bbdc7c]
上述の
% autoreload 2
や
import numpy as np
などを ipython / jupyter 起動のたびに実行するのは面倒くさい,というものぐささんは,
~/.ipython/profile_default/ipython_config.py
という設定ファイルを書いておくとよいでしょう.
#pre{{
c = get_config()
c.InteractiveShellApp.extensions = [
'autoreload'
]
c.InteractiveShellApp.exec_lines = [
'% autoreload 2',
'import numpy as np',
'import scipy as sp',
]
}}