当前位置: 首页 > article >正文

RandSampleMatrix-矩阵乘法实现

文章目录

  • 1. 随机打乱矩阵的行和列
  • 2. python 代码

1. 随机打乱矩阵的行和列

**************************************************
matrix=
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
row_list=[3 1 0 2]
rand_row_matrix=
[[15 16 17 18 19]
 [ 5  6  7  8  9]
 [ 0  1  2  3  4]
 [10 11 12 13 14]]
column_list=[1 2 4 0 3]
rand_column_matrix=
[[ 1.  2.  4.  0.  3.]
 [ 6.  7.  9.  5.  8.]
 [11. 12. 14. 10. 13.]
 [16. 17. 19. 15. 18.]]
**************************************************

2. python 代码

import numpy as np

np.set_printoptions(suppress=True, precision=3)
np.random.seed(2324)


class RandomMatrix(object):
    def __init__(self, in_matrix):
        self.matrix = in_matrix
        self.row, self.column = np.shape(self.matrix)
        self.rand_row_list = np.zeros(self.row)
        self.rand_column_list = np.zeros(self.column)
        self._rand_column_matrix = np.zeros_like(self.matrix)
        self._rand_row_matrix = np.zeros_like(self.matrix)

    @property
    def rand_row_matrix(self):
        my_row_n = self.row
        rand_row = np.random.permutation(my_row_n)
        self.rand_row_list = rand_row
        my_rand_row_matrix = self.matrix[rand_row]
        self._rand_row_matrix = my_rand_row_matrix
        return self._rand_row_matrix

    @property
    def rand_column_matrix(self):
        my_column_n = self.column
        rand_column = np.random.permutation(my_column_n)
        self.rand_column_list = rand_column
        rand_ones = np.eye(my_column_n)[rand_column].T
        my_rand_column_matrix = self.matrix @ rand_ones
        self._rand_column_matrix = my_rand_column_matrix
        return self._rand_column_matrix

    def execute(self):
        ex_matrix = self.matrix
        ex_rand_row_matrix = self.rand_row_matrix
        ex_rand_column_matrix = self.rand_column_matrix


http://www.kler.cn/a/403591.html

相关文章:

  • 【前端知识】nodejs项目配置package.json深入解读
  • 数据结构-二叉树_堆
  • HarmonyOs DevEco Studio小技巧31--卡片的生命周期与卡片的开发
  • 【pytorch-04】:线性回归案例(手动构建)
  • 如何实现3D模型在线展示、互动和分享?
  • 后仿真中的SDF语法之关键字 IOPATH 用法详解
  • 一文了解 OpenAI o1-preview 和目前不支持传入的参数
  • 在 C++ 容器中,插入或修改元素时
  • 阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_作战无人机和察打无人机图鉴
  • 全面解析:HTML页面的加载全过程(一)--输入URL地址,与服务器建立连接
  • MATLAB图注意力网络GAT多标签图分类预测可视化
  • 如何运行python脚本
  • 基于java+ssm+Vue的校园美食交流系统设计与实现
  • MyBatis——#{} 和 ${} 的区别和动态 SQL
  • 【Golang】手搓DES加密
  • 5G与4G互通的桥梁:N26接口
  • [js] 0.1+0.2
  • CentOS操作系统下安装Nacos
  • C语言 | Leetcode C语言题解之第564题寻找最近的回文数
  • 《Python网络安全项目实战》项目6 编写密码工具程序
  • C#拼接小文件合成一个大文件
  • Go context.Context
  • Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(二)
  • 机器翻译基础与模型 之二: 基于CNN的模型
  • 蓝桥杯每日真题 - 第18天
  • git修改安装位置后处理