ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
メモ程度に書いてきます。ロボティクスを専門にしてる人、勉強してる人は疑似逆行列というのを
使うことがあると思います。授業でやったかどうかは授業聞いてないので知らないが。
冗長マニピュレータの制御では必須だし(仮想ばね・ダンパなら不要だが)、あと連続的な空間での
強化学習でもいります。
PythonにNumeric Pythonというのがありますがこれには逆行列の計算はできますが疑似逆行列
の計算はできません。そこでScipyを使います。
Scipyをインストールしたら、コマンドラインで
from scipy import *
from scipy import linalg
a = mat('[5,3,3;3,3,5]')
linalg.pinv(a)
とすれば、
array([[0.29878049, -0.20121951],[0.03658537, 0.03658537],[-0.20121951, 0.29878049]])
とでてきます。
mat()内の行列の疑似逆行列を出せます。linalg.inv(a)とすれば単なる逆行列です。
使うことがあると思います。授業でやったかどうかは授業聞いてないので知らないが。
冗長マニピュレータの制御では必須だし(仮想ばね・ダンパなら不要だが)、あと連続的な空間での
強化学習でもいります。
PythonにNumeric Pythonというのがありますがこれには逆行列の計算はできますが疑似逆行列
の計算はできません。そこでScipyを使います。
Scipyをインストールしたら、コマンドラインで
from scipy import *
from scipy import linalg
a = mat('[5,3,3;3,3,5]')
linalg.pinv(a)
とすれば、
array([[0.29878049, -0.20121951],[0.03658537, 0.03658537],[-0.20121951, 0.29878049]])
とでてきます。
mat()内の行列の疑似逆行列を出せます。linalg.inv(a)とすれば単なる逆行列です。
PR
この記事にコメントする