python怎么求转置矩阵,numpy向量转换矩阵

  python怎么求转置矩阵,numpy向量转换矩阵

  在本文的例子中,讨论了用Python实现的矩阵置换和矩阵乘法。分享仅供参考。如下。

  矩阵置换

  Wgdmg:用通常的思路deftranspose(m):

  #初始化的矩阵

  结果=[]

  #在替换前获取行和列

  row,col=shape(m)).

  #首先循环列

  forIinrange(列) :

  #具有外部循环的容器

  item=[]

  在# column循环中循环行。

  对于索引范围(世界其他地区) :

  item.append(m[index][I]).

  结果.追加(项目)

  返回结果

  思路:矩阵转置是指从行变为列。最后,在列变成行之前定义存储矩阵的容器,然后循环I列来定义存储数据的临时数组。在每一列的循环内,再循环第J行,将第M[j][i]个元素存入临时数组,完成每一列的循环,将临时数组存入最终数组,完成列的循环,最终数组就是矩阵的求逆。

  用lmdyx:zip解压def defe(m ):

  用zip直接分解成转置元组迭代器,然后强变换成list,存储在最终的list中。

  return[list(row)for rowinzip)* m]

  构思:

  解压缩包后,它返回一个迭代器,将多个可重复的对象组合成一个元组数组。例如:my_zip=list(zip) (a),b),c),)1,2,3))

  print(my_zip))、1)、b)、2)、c)、3 ) ]

  在每个循环中,元组被强转换成列表,并包含在总列表中。

  矩阵defmatrixmultiply(a (a,b):

  获取# a的行数和列数。

  A_row,A_col=shape(A)

  获取#b的行数和列数

  B_row,b_col=shape(b))).

  #无法操作时的判断

  if(a_col!=b_row(:

  提高值错误

  #最终矩阵

  结果=[]

  解包后的# zip是一个转置元组,被强制转换成一个列表,存储在结果中。

  Bt=[list(row ) forrowinzip(*b ) ]

  开始#产品操作

  fora_indexinrange(a_row):

  #用于记录新矩阵每一行的元素

  rowItem=[]

  forb_indexinrange(Len(Bt)):

  # num是累积的。

  num=0

  forbrinrange(Len ) Bt[b_index]):

  num=a [ a索引] [ br ] * Bt [ b索引] [ br ]

  #增量完成后,将数据存储在新矩阵的行中

  rowItem.append(数字)

  result.append(rowitem)).

  返回结果

  说明:将矩阵A和矩阵B相乘,最后得到一个新的矩阵x,第一个思路是判断乘法是否可以做。前提是A列和B行是相同的。假设A是3行5列,B是5行2列。乘法的结果是B被3行2列代替,变成2行5列。叫BT。这样,如果A和BT都是5列,如果A *的每一行的第I个元素,BT的每一行的第I个元素,构成新矩阵X的新行和循环A的那一行加在一起,新矩阵X就慢慢加起来,循环结束后就得到新矩阵X。

  对Python相关内容感兴趣的读者请参考本网精选文章,《Python数学运算技巧总结》,《Python数据结构与算法教程》,《Python函数使用技巧总结》,《Python字符串操作技巧汇总》,《Python入门与进阶经典教程》,0103010,0103

  希望这篇文章能对大家的Python编程有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: