前提
SympyをJupyterNotebookで使っていますがエラーがでて困ってます。
解決方法を教えていただければ嬉しいです。
「# パラメータ(実数)」の項目まではエラーなしですが「# 各座標の計算」でこのエラーがでています。
実現したいこと
計算をおこないたい。
発生している問題・エラーメッセージ
TypeError: 'map' object is not subscriptable
該当のソースコード
python
import numpy as np from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from sympy import *from sympy.abc import * init_printing() # 単位ベクトルとか角度の定義angles = symbols("phi_0 phi_1 phi_2")# 原点から肩部への方向を表す角度thetas = symbols("theta_0 theta_1 theta_2")# モーターの角度(±90deg)unit_vectors = [Matrix([cos(angles[i]),sin(angles[i]),0]) for i in range(3)]ez = Matrix([0,0,1]) # パラメータ(実数)params = [(A,130.0),(B,200.0),(C,400.0),(D,130.0)]params.append((angles[0],2.0*np.pi/3.0*0))params.append((angles[1],2.0*np.pi/3.0*1))params.append((angles[2],2.0*np.pi/3.0*2))params.append((x,0))params.append((y,0))params.append((z,400)) # 各座標の計算A_vectors = map(lambda x: A*x,unit_vectors)B_vectors = [A_vectors[i] + B*(unit_vectors[i] * cos(thetas[i])-ez*sin(thetas[i]) ) for i in range(3)]D_vector = Matrix([x,y,z])C_vectors = [D_vector + D * unit_vectors[i] for i in range(3)]
試したこと
mapをlist化したりもしました
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
0 コメント