2013-07-03 11 views
8

मैं जिसमें मैं एक 2d मैट्रिक्स के लिए एक 2 डी सरणी परिवर्तित करने के लिए इतना है कि मैं इसका इस्तेमाल कि मैं numpy.matrix उपयोग कर रहा हूँ inverse.For गणना करने के लिए कर सकते हैं एक अजगर कोड के लिए एक 2 डी numpy सरणी परिवर्तित (सरणी) लेकिन यह काम नहीं कर रहा है। क्या कोई बता सकता है कि एक 2 डी सरणी को एक 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: \ XAMPP \ htdocs \ webdev \ 123.py", रेखा 47, प्रिंट ऐ फ़ाइल में "C: \ Python27 \ lib \ साइट-संकुल \ numpy \ matrixlib \ defmatrix.py", लाइन 85 9, getI वापसी asmatrix (func (self)) फ़ाइल "सी: \ Python27 \ lib \ site-packages \ numpy \ linalg \ linalg.py", लाइन 1574, पिनव u, s, vt = svd में (ए, 0) फ़ाइल "सी: \ पायथन 27 \ lib \ साइट-पैकेज \ numpy \ linalg \ linalg.py", लाइन 1278, svd में एक = _fastCopyAndTranspose (टी, ए) फ़ाइल "सी: \ Python27 \ lib \ साइट-संकुल \ numpy \ linalg \ linalg.py ", लाइन 145, _fastCopyAndTranspose में cast_arrays = cast_arrays + (_fastCT (a.astype (प्रकार)) ValueError: एक sequ साथ एक सरणी तत्व की स्थापना खिलाडि़यों। – abcdxx

+6

@abcdxx चलो, तुम सिर्फ मेरे त्रुटि संदेशों में से एक समूह के साथ बम नहीं कर सकते हैं, विशेष रूप से नहीं संदर्भ के बिना। _What_ आपको यह त्रुटि देता है, आप किस फ़ंक्शन इत्यादि को पास करते हैं? –

+0

मैं एक 2 डी सूची एचवी करता हूं, मैंने इसे np.array का उपयोग करके सरणी में परिवर्तित कर दिया और फिर आगे एआई का उपयोग करके मैट्रिक्स से उलटा गणना की जहां ए = एनपी.एसमेट्रिक्स (सरणी) लेकिन यह उपरोक्त त्रुटि – 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) 
संबंधित मुद्दे