SJS2017 ex02

課題いっぱいありますが,1回で全部終わらせようという意図ではありません. 自分で進められるひとはどんどん先へ進めたらよいですが.

前回分と今回分

準備

次のようにして,Jupyter Notebook を使えるようにしよう.

  1. jupyter をインストール
    $ sudo port install pyXY-jupyter
  2. このままだと,Jupyter のコマンドが
    $ jupyter-X.Y
    という感じになっていやんなので,~/.bashrc に alias を追加.例えばこんな感じ
    alias jupyter="jupyter-3.5"
    alias jupyternb="jupyter-notebook-3.5"
  3. 次のようにして設定を読み込ませるか,新しいシェルを開く
    $ source  ~/.bash_profile

上記ができたら,次のようにして今日の課題の notebook を開いてみよう

  1. 適当な場所に適当な名前のディレクトリを作成し,そこへ移動
  2. jupyter を実行
    $ jupyter notebook   (かわりに jupyternb でもよい)
  3. 以下の ex02A.ipynb をダウンロードしてこのディレクトリへ移動
  4. jupyter のウィンドウ内右側の「くるくる」な感じのボタンを押して,ファイルリストを更新
  5. 上記のファイルが見えるはずなので,クリックして開く
  6. 「課題A-1」の下のセルをクリックして,Shift-Enter を押してみる
  7. いろいろいじって遊ぶ

課題A

&gist(0799e2d829638ac201ed364475449555);

課題B

&gist(54686c05e5954b8dde34a4e0d1a35ffa);

課題C

&gist(8dd1a669924ac346e54aead360101474);

課題D

PIP/2017 第12回講義資料の Q1 を NumPy を利用して解いてみよう.

課題D-1

まずは手計算を併用して解いてみよう.式(7)を \( A\mathbf{x} = \mathbf{b} \) という形で表すことにする.

  1. 2 x 2 行列 \( A \) と 2 x 1 行列(2次元ベクトル) \( \mathbf{b} \) を手計算で求めなさい
  2. NumPy で,\( A \)\( \mathbf{b} \) を与えて連立方程式 \( A\mathbf{x} = \mathbf{b} \) の解 \( \mathbf{x} \) を計算する方法を調べなさい
  3. (課題D-2にて)実際に解 \( \mathbf{x} \) すなわちパラメータ a, b の値を求め,連立方程式を手計算で解いた場合と同じになることを確認しなさい.

課題D-2

&gist(17be3cdc1fa5aece841ba2ca0418742a);

おまけ

上述の

% autoreload 2

import numpy as np

などを ipython / jupyter 起動のたびに実行するのは面倒くさい,というものぐささんは,

~/.ipython/profile_default/ipython_config.py

という設定ファイルを書いておくとよいでしょう.

c = get_config()

c.InteractiveShellApp.extensions = [
    'autoreload'
]

c.InteractiveShellApp.exec_lines = [
    '% autoreload 2',
    'import numpy as np',
    'import scipy as sp',
]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-30 (土) 18:11:51