2013-07-03 5 views
8

2D 배열을 2D 행렬로 변환해야만 파이썬 코드를 사용할 수 있으므로 inverse.For를 계산할 때 사용할 수 있습니다. numpy.matrix 배열)하지만 작동하지 않습니다. 아무도 2D 배열을 numpy 행렬로 변환하는 방법을 말할 수 있습니까? 배열은 모든 부동 소수점 숫자로 구성됩니다.2D numpy 배열을 2D numpy 행렬로 변환합니다.

+1

역 [배열 NumPy와 매트릭스]의 (http://stackoverflow.com/questions/3337301/numpy-matrix-to-array) –

+2

하면 또한 배열에서'np.linalg.inv'를 직접 호출 할 수 있습니다. –

답변

18

a이 배열 인 경우 np.asmatrix(a)은 매트릭스입니다.

+0

오류 의 파일 "C : \ Python27 \ lib \ site-packages \ numpy \ matrixlib \ defmatrix.py"에 "C : \ xampp \ htdocs \ webdev \ 123.py" 줄 859, getI에서 return asmatrix (func (self)) 파일 "C : \ Python27 \ lib \ site-packages \ numpy \ linalg \ linalg.py"파일, 1574 줄, u, s, vt = svd (a, 0) 파일 "C : \ Python27 \ lib \ site-packages \ numpy \ linalg \ linalg.py", 1278 줄, svd a = _fastCopyAndTranspose (t, a) 파일 "C : \ Python27 \cast_arrays = cast_arrays + (_fastCT (a.astype (type)) ValueError : 배열 요소를 시퀀스로 설정하기 ence. – abcdxx

+6

@abcdxx 어서, 당신은 그냥 문맥없이 오류 메시지 잔뜩 폭탄 수 없습니다. _ 무엇이 당신에게이 오류를 주 었는지, 어떤 매개 변수를 어떤 함수에 전달 했습니까? –

+0

나는 2D 목록을 hv로 만들었습니다. np.array를 사용하여 배열로 변환 한 다음 AI를 사용하여 행렬에서 역행렬을 계산했습니다. 여기서 A = np.asmatrix (배열)이지만 위의 오류가 발생했습니다. – abcdxx

1

목록의 목록이있는 경우 (위에서 언급 한 것처럼) 먼저 numpy 배열로 변환해야합니다. how to convert 2d list to 2d numpy array?

참조 간단한 예는 다음과 주어진다

import numpy as np 
a = [[ 0. +0.j, 1.j, 2. -2.j], 
    [ 4. -4.j, 5. -5.j, 6. -1.j], 
    [ 8. -8.j, 9. -9.j, 10.]] 
b = np.matrix(np.array(a)) 
b_inv = np.linalg.inv(b) 
관련 문제