« PythonでMatlabライクな環境を構築してみる その1 | トップページ | PythonでMatlabライクな環境を構築してみる その3 »

2010年11月 9日 (火)

PythonでMatlabライクな環境を構築してみる その2

では引き続きNumPy/SciPyの導入に挑戦していきます。
SciPyはNumPyに依存するとあるのでまずはNumPy導入に挑戦だ。

NumPyのOfficial: http://numpy.scipy.org/
NumPyのダウンロード先: https://sourceforge.net/projects/numpy/files/

NumPy・SciPyの導入に関して http://www.scipy.org/Installing_SciPy/BuildingGeneral にはコンソールから
python setup.py install
としてインストールするとあるけどWindowsで標準のバイナリーのインストーラーを使って近道する場合はこれをやらなくともよい。

Windowsの32ビット環境での導入なので,安定版のバージョン1.5からPython2.6用のWin32のビルドを選んで導入した。

NumPy 1.5のWin32版 ダウンロード先: http://sourceforge.net/projects/numpy/files/NumPy/1.5.0/numpy-1.5.0-win32-superpack-python2.6.exe/download

例によってsetupのmsiファイルは捨てずに取っておいた方がよい。インストーラーはPythonの2.6がインストールされている場所がデフォルトのC:\Python26の場合はnextを連打でOK。


さて,インストールされてるはずなのでPython起動してからnumpyをインポートしてみる。

import numpy

dir(numpy)
でいっぱい関数がでてきたらOK。

Windows環境でのインストールの解説には

numpy.test()

としてちゃんと動くか確認すると書いてある。しかしこのテストにはnoseというモジュールが必要でいきなりやって
みるとエラーになる。よくよく調べてみるとNumPyに同梱されているINSTALL.TXTには

2) nose__ (pptional) 0.10.3 or later

This is required for testing numpy, but not for using it.

と書いてあって別にnumpy使うにあったては必要でないらしい。

簡単なテストとしてはチュートリアルのサンプルを試してみればよいでしょう。例えば

import numpy

a = numpy.arange(10).reshape(2,5)
がうまく動けば大丈夫でしょう。


豆知識

チュートリアルをもちょっとすすむとzerosコマンドが紹介されている

zeros ( (2,3) )

でMatlabのzeros(2,3)みたいなことができると書いている。が,試してみるとエラー。。。
numpy.zeros((2,3))

とすると出来た。
どうやらimportのしかたがまずかった?らしい。ここのMatlabユーザー向けのNumPyチュートリアルを参考にインポートの仕方をただ import numpy とするのではなく
from numpy import *

のようにすると出来た。

同じことをnumpyなしでやろうとすると

[0 for x in range(3)]

で[0 ,0, 0]をつくってこれを入れ子にして次の次元をつくるので
[ [0 for x in range(3)] for x in range(2) ]

という感じになる。
数値の型も同じにするなら0じゃなくて0.にした方がいいか。
最初は[[0]*3]*2でいいじゃないかと思いやってみると
>>> a = [[0]*3]*2

>>> a

[[0, 0, 0], [0, 0, 0]]

で見た目は同じ結果がでる。しかし
>>> a[1][2] = 4

>>> a

[[0, 0, 4], [0, 0, 4]]

のように要素を一個変えようとするだけでその変更が他の次元にもコピーされてしまう。
pythonのヘルプのチュートリアルよく読むとちゃんと書いているので違いに注意。

« PythonでMatlabライクな環境を構築してみる その1 | トップページ | PythonでMatlabライクな環境を構築してみる その3 »

Python」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1169291/37594502

この記事へのトラックバック一覧です: PythonでMatlabライクな環境を構築してみる その2:

« PythonでMatlabライクな環境を構築してみる その1 | トップページ | PythonでMatlabライクな環境を構築してみる その3 »

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

IT技術注目記事

無料ブログはココログ