Python中有两个矩阵:形状(4,1)的矩阵A和形状(4,4)的矩阵B。 我使用列表中的数据形成了两个矩阵
valList数据看起来像
00200030
00200030
00200030
00200030
00480051
FFF0004B
FFF0004B
我将每个项目转换为一个32位整数,然后使用数据形成矩阵
for item in valList:
int(item,32)
B_RC = createMatrix(rows,1,valList)
B = np.array(B_RC)
print B
A_RC = valList[rows:rows + (rows * cols)]
A = np.array(A_RC).reshape( (rows,cols))
print A
def createMatrix(rowCount, colCount, dataList):
mat = []
for i in range (rowCount):
rowList = []
for j in range (colCount):
if dataList[j] not in mat:
rowList.append(dataList[i])
mat.append(rowList)
return mat
我想把这两个矩阵相乘。 我使用了numpy,但以下代码出现以下错误:
>>> C=np.matmul(B,A)
error: ufunc 'matmul' did not contain a loop with signature matching types dtype('S8') dtype('S8') dtype('S8')
我应该使用什么功能
Python为这些用例提供了运算符:
矩阵乘法运算符是右结合的
如果需要这些参数作为函数参数:
如评论中所讨论的,矩阵
A
和B
具有以32为基数的十六进制值,写为str
。要执行点积,我们首先需要使用内置函数int(value, base)
将这些值转换为整数在这里,我创建了一个小示例来解释流程应该如何进行:
正如我们所看到的,点积的输出是数字,您可以使用
hex()
方法将它们转换回十六进制值:编辑
以下是将
valList
转换为int
的正确方法:相关问题 更多 >
编程相关推荐