numpy - 2D matrix/array - initialization like in Matlab...

someone newsboost at gmail.com
Mon Oct 15 17:09:33 EDT 2012


See this:

==========================================================
In [5]: Dx = numpy.matrix('1 0 0; 0 0.5 -0.5; 0 -0.5 1.5')

In [6]: Dx
Out[6]:
matrix([[ 1. ,  0. ,  0. ],
         [ 0. ,  0.5, -0.5],
         [ 0. , -0.5,  1.5]])
==========================================================



Ok... So now test = 33 and instead of the value 1.5 I want to use the 
value of "test" and put it directly into the matrix (or array):

==========================================================
In [7]: test=33

In [8]: Dx = numpy.matrix('1 0 0; 0 0.5 -0.5; 0 -0.5 test')
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/home/user/something/<ipython-input-8-5a43575649e1> in <module>()
----> 1 Dx = numpy.matrix('1 0 0; 0 0.5 -0.5; 0 -0.5 test')

/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.pyc in 
__new__(subtype, data, dtype, copy)
     252
     253         if isinstance(data, str):
--> 254             data = _convert_from_string(data)
     255
     256         # now convert data to an array
...... etc...
==========================================================



So obviously it doesn't understand that I want this:

==========================================================
In [21]: Dx[2,2]=test

In [22]: Dx
Out[22]:
matrix([[  1. ,   0. ,   0. ],
         [  0. ,  33. ,  -0.5],
         [  0. ,  -0.5,  33. ]])
==========================================================

Without having to manually change all the individual places using my 
variables (test is actually many variables, not just one but I think you 
should understand the problem now).


How to initialize my array directly using variables ?

It could also be that I wanted:

test11 = 1
test12 = 1.5
test13 = 2
test21 = 0
test22 = 5

Dx = numpy.matrix('test11 test12 test13; test21 test22 -0.5; 0 -0.5 1.5')

Etc... for many variables...

Appreciate ANY help, thank you very much!




More information about the Python-list mailing list