小编004*_*004的帖子

无法使用numpy求解方程组

当我试图使用numpy.linalg.solve(A,b)解决这个18方程式和18个未知数的方程组时,它显示如下错误:

>>numpy.linalg.solve(A,b)
  File "C:\Python27\lib\site-packages\numpy\linalg\linalg.py", line 328, in solve
    raise LinAlgError, 'Singular matrix'
LinAlgError: Singular matrix`
Run Code Online (Sandbox Code Playgroud)

而且,与matlab相比,这给出了错误的答案,并且在matlab中,反向不会像奇异矩阵那样引起任何误差

>>numpy.linalg.lstsq(A,b) 
Run Code Online (Sandbox Code Playgroud)

方程式:

A=[[  2.00000000e-05   1.04829508e-14   2.92236138e-24   4.99137993e-34
    5.52810194e-44   4.00873469e-54   1.84523284e-64   4.90835508e-75
    5.76100393e-86   5.99076740e-01   2.99538370e-01   2.24653778e-01
    1.87211481e-01   1.63810046e-01   1.47429042e-01   1.35143288e-01
    1.25490196e-01   1.17647059e-01],
 [  3.73770292e-01   2.09016082e-01   6.78532034e-02   1.39582215e-02
    1.89003753e-03   1.68885303e-04   9.62295375e-06   3.17769127e-07
    4.46104746e-09   2.20133438e-01   3.43958497e-01   3.09132700e-01
    2.41012794e-01   1.94347888e-01   1.66650637e-01   1.48719036e-01
    1.35807777e-01   1.25855315e-01],
 [  3.11663896e-01   3.06638455e-01   2.02332733e-01   8.94385710e-02
    2.66813026e-02   5.32020127e-03   6.81398496e-04   5.08044167e-05
    1.67948485e-06   7.07545654e-02   2.07209799e-01   2.96555487e-01
    2.92571675e-01   2.43843879e-01   1.98570296e-01   1.68671368e-01
    1.49520047e-01   1.36137091e-01],
 [  2.44042188e-01   2.93174990e-01   2.81499972e-01   1.97504125e-01 …
Run Code Online (Sandbox Code Playgroud)

python numpy

-2
推荐指数
1
解决办法
1765
查看次数

标签 统计

numpy ×1

python ×1