基于Python之邻接矩阵沿对角线拼接操作简单方法

简介: 基于Python之邻接矩阵沿对角线拼接操作简单方法

图的邻接矩阵一般定义是:节点与节点之间的边构成一个矩阵,比如:一张图片有N个节点,那么邻接矩阵的维度就是[N,N]大小,矩阵的每个值表示对应两个节点之间是否有边相连接,连接则值设为1,否则设为0(下图就是一张节点N=20的邻接矩阵)。

一、目的是将两个任意大小的邻接矩阵进行沿对角线拼接,并把空缺的部分填充上0,表示拼接的两个图的节点之间并无任何连接。

二、首先初始化一个N=5和3的邻接矩阵,并且各图的节点之间全连接,矩阵的值全为1。在将矩阵a和矩阵b选择下面两种方式进行沿对角线拼接。

  • 横向拼接
  • 纵向拼接
import numpy as np
import torch
a = torch.ones(5,5).numpy() # 5*5的邻接矩阵
b = torch.ones(3,3).numpy() # 3*3的邻接矩阵
print(a)
print(b)

三、(横向拼接)然后将矩阵a和一个长为a大小,宽为b大小的零矩阵垂直拼接得到左矩阵,再将一个长为b大小,宽为a大小的零矩阵和b垂直拼接得到右矩阵,再将两者横向拼接。

lena = len(a) # 矩阵a的长度
lenb = len(b) # 矩阵b的长度
leftmaxtric = np.row_stack((a, np.zeros((lenb, lena))))  # 先将矩阵a和一个长为a大小,宽为b大小的零矩阵垂直拼接,得到左矩阵
rightmaxtric = np.row_stack((np.zeros((lena, lenb)), b))  # 再将一个长为b大小,宽为a大小的零矩阵和b垂直拼接,得到右矩阵
maxtirc = np.hstack((leftmaxtric, rightmaxtric))  # 将左右矩阵水平拼接
print(maxtirc)

四、(纵向拼接)先将矩阵a和一个长为b大小,宽为a大小的零矩阵水平拼接,得到上半边,再将一个长为a大小,宽为b大小的零矩阵和b水平拼接,得到下半边,再将两者纵向拼接。

lena = len(a) # 矩阵a的长度
lenb = len(b) # 矩阵b的长度
topmaxtric = np.column_stack((a, np.zeros((lena, lenb))))  # 先将矩阵a和一个长为b大小,宽为a大小的零矩阵水平拼接,得到上半边
floormaxtric = np.column_stack((np.zeros((lenb, lena)), b))  # 再将一个长为a大小,宽为b大小的零矩阵和b水平拼接,得到下半边
maxtirc = np.vstack((topmaxtric, floormaxtric))  # 将上下矩阵纵向拼接
print(maxtirc)


相关文章
|
8天前
|
移动开发 Python Windows
python编程获取网页标题title的几种方法及效果对比(源代码)
python编程获取网页标题title的几种方法及效果对比(源代码)
|
7天前
|
Python
python方法,传参20220101 计算与当前时间差
python方法,传参20220101 计算与当前时间差
|
8天前
|
缓存 开发者 Python
Python指定行号读取文件的方法
这种方法的优势在于它的效率和简便性,特别是当需要从同一文件中读取多行时。`linecache`会缓存文件,减少了重复读取的开销。
15 4
|
7天前
|
存储 Python
Python中类方法、实例方法与静态方法的区别
这三种方法的正确使用可以使代码更加清晰、组织良好并且易于理解,从而有效地支持软件开发的面向对象编程范式。
9 1
|
9天前
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
11 3
|
8天前
|
Python
Python实现图片的拼接
Python实现图片的拼接
10 1
|
6天前
|
机器学习/深度学习 PyTorch TensorFlow
Python实现深度学习学习率指数衰减的方法与参数介绍
学习率指数衰减提供了一种高效的动态调整学习率的手段,帮助模型在不同训练阶段以不同的学习速度优化,有利于提升模型性能和训练效率。通过合理设置衰减策略中的参数,可以有效地控制学习率的衰减过程,实现更加精确的模型训练调优。
10 0
|
6天前
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
18 0
|
8天前
|
JSON JavaScript 前端开发
6-19|Python数据传到JS的方法
6-19|Python数据传到JS的方法
|
8天前
|
大数据 Python
6-11|Python中保证两位小数的方法
6-11|Python中保证两位小数的方法
下一篇
无影云桌面