ラビット・エンジニアリング

趣味の電子工作を、備忘録もかねて・・・・

【Python備忘録】Pythonプログラムで、sinやcosなどの数式関数を使えるようにしてみた。

目標

Pythonプログラムで、sinやcosなどの数式関数を使えるようにしたい。

 

結論

Pythonの対話モードで、以下のコマンドを入力して、numpyをが使えればOK

>>> import numpy as np

ModuleNotFoundError: No module named 'numpy' とエラーが出たら、この記事の続きを読んでnumpyをインストールして使えるようになります。

 

背景

Pythonプログラムで三角関数を使おうとしたら、初期設定では使えなかったので使えるようにしてみた。

 

MathとNumpy

Pythonで数式関数を使うには、2通りの方法があります。

  • Mathモジュールを使う
  • numpyを使う

numpyは、関数の入力に配列が使えるので、numpyつかうことにした。たとえば関数fに変数x1とx2の2つの入力値に対する計算をしたい場合、

  • Mathの場合: y1=f(x1), y2=f(x2) 別々に計算が必要
  • numpyの場合:[y1,y2]=f([x1,x2]) 配列や行列使って一気に計算可能。

 

 

設定方法

numpyが使えないことの確認。対話モード(コンソールでpython3と入力)にして、下記を入力。

>>> import numpy as np
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'

 

ModuleNotFoundError: 要するにnumpy入っていないとエラーが出ます。

 

 

pipでインストール

pip install numpyしてみた。 

usagi@usagi-mba ~ % pip install numpy
Traceback (most recent call last):
File "/usr/local/bin/pip", line 6, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip._internal.cli.main'

 

pipだとエラーが出て進まないので、pip3で再トライ。

usagi@usagi-mba ~ % pip3 install numpy
Collecting numpy
Downloading numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl (12.1 MB)
|████████████████████████████████| 12.1 MB 10.5 MB/s
Installing collected packages: numpy
Successfully installed numpy-1.21.0
WARNING: You are using pip version 21.1.1; however, version 21.1.3 is available.
You should consider upgrading via the '/opt/homebrew/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip' command.

 

numpyのインストール完了。pipのバージョンが最新じゃないと警告されたのでついでにpipのバージョンをアップ。

 

usagi@usagi-mba ~ % sudo pip3 install --upgrade pip
Password:
WARNING: The directory '/Users/usagi/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Requirement already satisfied: pip in /opt/homebrew/lib/python3.9/site-packages (21.1.1)
Collecting pip
Downloading pip-21.1.3-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 10.6 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.1.1
Uninstalling pip-21.1.1:
Successfully uninstalled pip-21.1.1
Successfully installed pip-21.1.3
WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv

 

さらに何か注意されたが、アプグレードはできたらしい。

 

動作確認

numpyでsin使ってみた。

 

>>> import numpy as np
>>> a=np.sin(3.14)
>>> a
0.0015926529164868282

 

使えるようになった。