나는 이런 식으로 보이는 설정을 가지고 있으며, 일부 행렬 계산을 한 후에 함수를 호출하려고 할 때 몇 가지 문제가 발생합니다. 나는이 작업을 수행하는보다 효율적인 방법이 있다면보고 싶었어요 :Python : TypeError : 'float'유형이 아닌 int로 시퀀스를 곱할 수 없으며 TypeError : unary - : 'list'에 대한 잘못된 피연산자 유형입니다. 이것을 코드화하는 가장 깨끗한 방법은 무엇입니까?
TypeError: bad operand type for unary -: 'list'
내가 시도 : 나는 function_7에 전화 func7_list 무언가를 추가하려고하면
#Define functions
def function_7(func_7):
func_7 = []
func_7.append([ [ [0,0], [0, -func7] ] ])
return func7_
def function_5(func_5):
func_5 = []
slope_func5 = 1/math.sqrt(3)
theta = math.atan(slope_func5)
x_func5 = func_5*math.cos(theta)
y_func5 = func_5*math.sin(theta)
func_5.append([ [[0, x_func5], [0, y_func5]], [[0, -x_func5], [0, y_func5]] ])
return func_5_
func5_list = []
func7_list = []
#Set up matrix here
my_list = (0, 10, 1)
for i in my_list:
A = np.matrix([[0, 0, 1, 1, 0, 0],
[1, 1, 0, 0, 0, 0],
[2, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1.5, 1.5],
[3, 0, 0, 0, 0, 1.5],
[0, 0, 0, 0, 0, 1]
B = lambda i: np.matrix([[3], [8], [6], [12], [5], [i]])
var = np.linalg.solve(A, B(i))
func7_list.append(function_7(float(var[1,:]))
func5_list.append(function_5(float(var[2,:]))
,이 오류가 발생합니다 function_5에 전화 func5_list 뭔가를 추가,이 오류가 얻을 :
TypeError: can't multiply sequence by non-int of type 'float'
나는 그것이 내가 목록을 생성하고있어 방법에 문제가해야 알을 - 나는 func5_list의의 값을 반복 시도 dfunc7_list는 거기에 이전 함수를 호출했지만 그 중 하나는 작동하지 않았습니다. var [1 ,:] 또는 var [2 ,:]의 각 값에 대해 함수를 호출하고 출력 목록을 반환하는 방법에 대한 제안? 고맙습니다!
편집 : 문제를 파악했습니다. 이미 사용 된 변수를 호출하는 것이 었습니다.
VAR 오른쪽 목록입니다? – gautamaggarwal
매트릭스 출력이있는 목록입니다. –