Python 三角形,python制作三角形

  Python 三角形,python制作三角形

  您还可以使用“常规”numpy数组通过一个特殊的索引来实现这一点:import numpy as np。

  data=np.zeros((10,10))

  数据[np.arange(5),np.arange(5) 2]=[5,6,7,8,9]

  数据[np.arange(3) 4,np.arange(3)]=[1,2,3]

  打印数据

  (如果想更简洁,可以把那些对np.arange的调用换成np.r_)。例如使用数据[NP。阿朗日(3) 4,NP。Arange (3)]而不是data[np.r_[:3] 4,np.r_[:3]])

  这将产生:[[005000000]

  [0 0 0 6 0 0 0 0 0 0]

  [0 0 0 0 7 0 0 0 0 0]

  [0 0 0 0 0 8 0 0 0 0]

  [1 0 0 0 0 0 9 0 0 0]

  [0 2 0 0 0 0 0 0 0 0]

  [0 0 3 0 0 0 0 0 0 0]

  [0 0 0 0 0 0 0 0 0 0]

  [0 0 0 0 0 0 0 0 0 0]

  [0 0 0 0 0 0 0 0 0 0]]

  但是,如果您仍然想使用稀疏矩阵,请选中{}。(请注意,如果您想要将数据放置在具有正值的对角线位置(例如,示例中的3位于位置4),您需要将前置虚拟数据放置在行值上)

  举个简单的例子:导入numpy作为np

  将scipy作为sp导入

  导入scipy.sparse

  diag_rows=np.array([[1,1,1,1,1,1,

  [2, 2, 2, 2, 2, 2, 2],

  [0, 0, 0, 0, 3, 3, 3]])

  位置=[-3,0,4]

  打印sp.sparse.spdiags(diag_rows,positions,10,10)。托登斯()

  这将产生:[[2 0 0 0 3 0 0 0 0 0]

  [0 2 0 0 0 3 0 0 0 0]

  [0 0 2 0 0 0 3 0 0 0]

  [1 0 0 2 0 0 0 0 0 0]

  [0 1 0 0 2 0 0 0 0 0]

  [0 0 1 0 0 2 0 0 0 0]

  [0 0 0 1 0 0 2 0 0 0]

  [0 0 0 0 1 0 0 0 0 0]

  [0 0 0 0 0 1 0 0 0 0]

  [0 0 0 0 0 0 1 0 0 0]]

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

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