матричная визуализация matplotlib: контроль точности по значениям с плавающей точкой

Описание для MUL r/m32 - Unsigned multiply (EDX:EAX <- EAX * r/m32)..

Это означает, что 64-бит продукт будет сохранен в EDX:EAX, т.е. верхние 32 бита заканчиваются на EDX, а нижние 32 бита в EAX , Что соответствует результатам, которые вы видите, поскольку продукт должен быть 0x1DBEE41EB22A9CB.

2
задан Adam 17 February 2019 в 17:52
поделиться

1 ответ

Вы можете настроить это:

import matplotlib.pyplot as plt
import matplotlib
mat = [[ 150. ,  0.    ,   0.     ,  0.   , 0.   ,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.   ,    0.    ,   0.     ,  0.   ,  0.     ,  0.     ,  0.      , 0.     ,  0.   ],
       [ 150. , 69.388 ,  35.36   , 18.211, 7.851,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,  -0.03  ,  -0.047 ,  -0.044  , -0.027 ,   0.   ],
       [ 150. , 92.192 ,  53.842  , 29.633,13.192,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,  -0.075 ,  -0.112 ,  -0.104  , -0.062 ,   0.   ],
       [ 150. , 95.538 ,  58.184  , 33.287,15.285,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,  -0.156 ,  -0.221 ,  -0.199  , -0.116 ,   0.   ],
       [ 150. , 81.776 ,  50.068  , 30.045,14.659,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,  -0.331 ,  -0.416 ,  -0.357  , -0.203 ,   0.   ],
       [   0. , 31.498 ,  30.267  , 22.168,13.308,  5.653,    2.766  ,  1.5    ,  0.86  ,   0.492  ,  0.254  , 0.082, -0.058,   -0.182  , -0.298 ,  -0.41 ,   -0.515  , -0.617,  -0.751 ,  -0.754 ,  -0.609  , -0.34  ,   0.   ],
       [   0. , 13.948 ,  17.335  , 15.05 ,10.751,  6.537,    3.913  ,  2.374  ,  1.447 ,   0.854  ,  0.443  , 0.13 , -0.132,   -0.372  , -0.602  , -0.826 ,  -1.034  , -1.204,  -1.301 ,  -1.241 ,  -0.985  , -0.548 ,   0.   ],
       [   0. ,  6.958 ,  10.074  ,  9.949, 8.107,  5.832,    3.973  ,  2.635  ,  1.7   ,   1.034  ,  0.534  , 0.129, -0.229,   -0.57   , -0.913  , -1.258 ,  -1.59   , -1.864,  -2.007 ,  -1.924 ,  -1.543  , -0.866 ,   0.   ],
       [   0. ,  3.812 ,   6.053  ,  6.564, 5.896,  4.712,    3.511  ,  2.493  ,  1.685 ,   1.048  ,  0.529  , 0.079, -0.342,   -0.768  , -1.22   , -1.705 ,  -2.203  , -2.654,  -2.941 ,  -2.904 ,  -2.395  , -1.375 ,   0.   ],
       [   0. ,  2.237 ,   3.761  ,  4.358, 4.202,  3.609,    2.867  ,  2.142  ,  1.498 ,   0.943  ,  0.455  , 0.002, -0.452,   -0.94   , -1.495  , -2.139 ,  -2.864  , -3.607,  -4.2   ,  -4.357 ,  -3.76   , -2.237 ,   0.   ],
       [   0. ,  1.375 ,   2.396  ,  2.906, 2.943,  2.656,    2.206  ,  1.708  ,  1.223 ,   0.771  ,  0.345  ,-0.076, -0.526,   -1.045  , -1.682  , -2.491 ,  -3.509  , -4.71 ,  -5.895 ,  -6.563 ,  -6.052  , -3.812 ,   0.   ],
       [   0. ,  0.867 ,   1.543  ,  1.925, 2.009,  1.865,    1.592  ,  1.261  ,  0.915 ,   0.573  ,  0.232  ,-0.126, -0.531,   -1.031  , -1.698  , -2.633 ,  -3.971  , -5.831,  -8.105 ,  -9.948 , -10.073  , -6.958 ,   0.   ],
       [   0. ,  0.548 ,   0.986  ,  1.242, 1.302,  1.205,    1.035  ,  0.828  ,  0.604 ,   0.373  ,  0.134  ,-0.128, -0.441,   -0.852  , -1.445  , -2.372 ,  -3.911  , -6.536, -10.749 , -15.049 , -17.334  ,-13.947 ,   0.   ],
       [   0. ,  0.34  ,   0.609  ,  0.755, 0.751,  0.618,    0.516  ,  0.411  ,  0.299 ,   0.183  ,  0.059  ,-0.081, -0.253,   -0.491  , -0.859  , -1.499 ,  -2.766  , -5.652, -13.307 , -22.167 , -30.267  ,-31.497 ,   0.   ],
       [   0. ,  0.203 ,   0.357  ,  0.416, 0.331,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.     ,  0.    ,   0.     ,  0.   , -14.659 , -30.045 , -50.068  ,-81.776 ,-150.   ],
       [   0. ,  0.116 ,   0.2    ,  0.221, 0.157,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   , -15.284 , -33.286 , -58.184  ,-95.538 ,-150.   ],
       [   0. ,  0.062 ,   0.104  ,  0.112, 0.075,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   , -13.192 , -29.633 , -53.842  ,-92.192 ,-150.   ],
       [   0. ,  0.027 ,   0.044  ,  0.047, 0.03 ,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,  -7.851 , -18.211 , -35.36   ,-69.388 ,-150.   ],
       [   0. ,  0.    ,   0.     ,  0.   , 0.   ,  0.   ,    0.     ,  0.     ,  0.    ,   0.    ,   0.    ,  0.  ,   0.  ,     0.    ,   0.    ,   0.   ,    0.     ,  0.   ,   0.    ,   0.    ,   0.     ,  0.    ,-150.   ]]
plt.matshow(mat, aspect='auto', norm=matplotlib.colors.SymLogNorm(0.1))
plt.show()

, который будет производить следующее изображение:

that image


[ 1112] Объяснение :
В matplotlib есть вариант нормализации, в вашем случае, когда вы обрабатываете относительно большое число, и небольшие числа, которые более важны, вам нужно будет войти ( т.е. логарифм) ваши значения, чтобы увидеть различия. Поскольку у вас также есть отрицательные числа, просто записать их в журнал не удастся (log (), очевидно, не обрабатывает отрицательные числа). Таким образом, есть SymLogNorm, которые также обрабатывают отрицательные числа в той же форме. 0.1 является важным параметром, так как значения, близкие к нулю, стремятся к бесконечности, существует потребность в линейном диапазоне около нуля. Параметр linthresh (0.1, как я выбрал здесь, обращаясь к значениям матрицы) позволяет пользователю указать размер этого диапазона (-linthresh, linthresh).

для более подробной информации: Документация SymLogNorm

0
ответ дан Green 17 February 2019 в 17:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: