设置稀疏矩阵多个值的快速方法

2023-12-28

我在 MATLAB 中有一个稀疏的 5018x5018 矩阵,其中大约有 100k 个值设置为 1(即大约 99.6% 为空)。

我正在尝试将大约 5% 的 0 翻转为 1(即大约 125 万个条目)。我想要翻转的矩阵中有 x 和 y 索引。

这是我所做的:

sizeMat=size(network);
idxToReplace=sub2ind(sizeMat,x_idx, y_idx);
network(idxToReplace) = 1;

这是非常慢的,特别是最后一行。有什么方法可以使此操作运行得明显更快,最好不使用 mex 文件?


这应该更快:

idxToReplace=sparse(x_idx,y_idx,ones(size(x_idx),size(matrix,1),size(matrix,2)); % Create a sparse with ones at locations
network=network+idxToReplace; % Add the two matrices

我认为你的解决方案非常慢,因为你创建了一个1.26e6包含您的点的逻辑数组,然后将它们存储在稀疏矩阵中。在我的解决方案中,您只创建一个稀疏矩阵并将两者相加。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置稀疏矩阵多个值的快速方法 的相关文章

  • Numpy 中矩阵乘以另一个矩阵的每一行

    我有一个大小为 4x4 的齐次变换矩阵和一个大小为 nx3 的轨迹 该轨迹的每一行都是一个向量 我想将齐次变换矩阵乘以轨迹的每一行 下面是代码 append zero column at last trajectory np hstack
  • 使用定制距离函数从 Pandas Dataframe 创建距离矩阵

    我有一个包含两列的 Pandas 数据框 id 唯一标识符 和 date 如下所示 test df head id date 0 N1 2020 01 31 1 N2 2020 02 28 2 N3 2020 03 10 我创建了一个自定义
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • python中的张量点运算

    我有两个数组A 1 2 3 and B 1 0 1 0 问题是如何在 python 中执行张量点积 我期待得到 C 1 2 3 0 0 0 1 2 3 0 0 0 函数 np tensordot 返回有关数组形状的错误 对这个问题稍微补充一
  • 切片稀疏(scipy)矩阵

    我将不胜感激任何帮助 以理解从 scipy sparse 包中切片 lil matrix A 时的以下行为 实际上 我想根据行和列的任意索引列表提取子矩阵 当我使用这两行代码时 x1 A list 1 x2 x1 list 2 一切都很好
  • 可以避免迭代元胞数组时的“s{1} 烦恼”吗?

    The s 1 标题的 烦恼 指的是下面的 for 块中的第一行 for s some cell array s s 1 unpeel the enclosing cell do stuff with s end This s s 1 业务
  • matlab 中的 for 或 while 循环

    我刚刚开始在编程课的 matlab 中使用 for 循环 基本的东西对我来说很好 但是我被要求 使用循环创建一个 3 x 5 矩阵 其中每个元素的值是其行号其列号除以行号和列号之和的幂 例如元素 2 3 的值为 2 3 2 3 1 6 那么
  • Scipy 稀疏 CSR 矩阵到 TensorFlow SparseTensor - 小批量梯度下降

    我有一个 Scipy 稀疏 CSR 矩阵 它是根据 SVM Light 格式的稀疏 TF IDF 特征矩阵创建的 特征数量巨大且稀疏 所以我必须使用 SparseTensor 否则速度太慢 例如 特征数量为 5 示例文件如下所示 0 4 1
  • MATLAB 中的内存映射文件?

    我决定使用 memmapfile 因为我的数据 通常为 30Gb 到 60Gb 太大 无法放入计算机内存中 我的数据文件由两列数据组成 对应于两个传感器的输出 并且它们采用 bin 和 txt 格式 m memmapfile G E Str
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • 更快地评估从右到左的矩阵乘法

    我注意到以二次形式评估矩阵运算右到左明显快于左到右在 R 中 取决于括号的放置方式 显然它们都执行相同的计算量 我想知道为什么会这样 这与内存分配有什么关系吗 A 5000 5000 B 5000 2 A matrix runif 5000
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • CUDA 添加矩阵的行

    我试图将 4800x9600 矩阵的行加在一起 得到一个 1x9600 的矩阵 我所做的是将 4800x9600 分成 9 600 个矩阵 每个矩阵长度为 4800 然后我对 4800 个元素进行缩减 问题是 这真的很慢 有人有什么建议吗
  • C / C++ 中简单快速的矩阵向量乘法

    我需要经常使用matrix vector mult 它将矩阵与向量相乘 下面是它的实现 问题 有没有一种简单的方法可以使其速度显着加快至少两倍 备注 1 矩阵大小约为300x50 期间不会改变 跑步 2 它必须在 Windows 和 Lin
  • 在 Matlab 中保存当前运行的脚本

    有没有办法保存Matlab中当前运行的脚本 我有一个脚本 它会自动备份一组脚本 但如果我更改了当前脚本 则保存的版本将过期 也许可以调用一些java Thanks 在 Yair Altman 网站上的某个地方 请参阅我的其他答案中的链接 他
  • 3D 透视投影的剪辑矩阵

    我正在尝试创建一个简单的 3D 图形引擎 并找到并使用了我在这里找到的方程 http en wikipedia org wiki 3D projection cite note 0 http en wikipedia org wiki 3D
  • numpy.linalg.inv() 是否给出了正确的矩阵逆?编辑:为什么 inv() 给出数值错误?

    我有一个矩阵形状 4000 4000 我想取逆矩阵 我对逆矩阵的直觉因如此大的矩阵而崩溃 起始矩阵的值大小为e 10 具有以下值 print matrix给出一个输出 2 19885119e 10 2 16462810e 10 2 1306
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • Matlab:掩码/创建一个知道其原点且具有一定半径的圆形 roi

    只是一个简单的问题 我有一张图像 并且提取了某个点 特征 我知道每个帧中该点的坐标 说 x1 和 y1 我需要一个圆形 ROI 形式 该点在图像上具有我选择的半径 我尝试了 impoly 和 roipoly 当我知道图像中的要点时 不知道如

随机推荐

  • 从堆栈内存中删除结构

    我有一个链表结构 我想将一个节点 另一个结构 指针传递给一个函数 该节点是链表的一部分 但我将节点单独传递给删除器函数 我希望它将下一个节点数据复制到自身中 覆盖其数据 并删除下一个节点 从而删除自身 这部分正在工作 我让它检查传递的节点是
  • @Html.BeginForm 在页面上显示“System.Web.Mvc.Html.MvcForm”

    我有一个剃刀视图 我在 if 语句内部添加了一个删除按钮 当视图在浏览器中呈现时 它会显示 系统 Web Mvc Html MvcForm 删除按钮旁边 我该如何摆脱它 这是代码 div if update User UserName Eq
  • processing.js 如何检测浏览器的大小?

    如前所述 processing js 如何响应浏览器的大小 响应式设计 我尝试过 screen width 和 screen height 但效果不佳 看来只能检测电脑屏幕尺寸的大小 更重要的是 我想在拖动并更改浏览器大小时与窗口大小保持同
  • C++数学表达式的错误结果[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我必须计算
  • 具有 MultiIndex 的 DataFrame 到 dict

    我有一个带有多重索引的数据框 我想知道我是否以正确的方式创建了数据框 见下文 01 01 02 01 03 01 04 01 bar total1 40 52 18 11 total2 36 85 5 92 baz total1 23 39
  • 如何在java中读取.pem文件格式的EC私钥

    如何使用JAVA读取 pem文件中的EC私钥 在阅读时我遇到以下异常 引起原因 java security InvalidKeyException IOException 版本不匹配 支持 00 解析 01 其实我的 Pem 文件包含以下结
  • 在 SQL 中使用 COUNT 函数

    首先也是最重要的 这是作业的一部分 我正在尝试使用 COUNT 函数作为与 Northwind 数据库相关的查询的一部分 查询应返回 CustomerID CompanyName 和为每个客户下的订单数量 当然 前两部分很简单 但我无法让
  • C++ 外部函数,以函数指针作为参数,在具有成员函数的类内部使用

    对 C 相当陌生 假设我有一堂课 class A private double m x m y public A double x double y m x x m y extF m x y intF double intF double
  • Json 文件到 pyspark 数据帧

    我正在尝试在 Spark pyspark 环境中使用 JSON 文件 问题 无法将 Pyspark Dataframe 中的 JSON 转换为预期格式 第一个输入数据集 https health data ny gov api views
  • 在 SELECT 中使用构造函数表达式的 JPQL/Hibernate 限制

    根据我对 JPA 2 0 规范的阅读 以下内容应该是有效的 select e employeeId new com foo Custom e employeeName e employeeCity from Employee e 然而 Hi
  • 带有 JSON 字符串的 IHttpActionResult

    我有一个方法最初返回一个HttpResponseMessage我想将其转换为返回IHttpActionResult 我的问题是当前的代码正在使用 JSON Net 来序列化复杂的通用树结构 它可以很好地使用自定义JsonConverter我
  • 使用 phpMyAdmin 将 CSV 文件导入 MySQL

    我搜索并阅读了许多关于使用以下命令将 CSV 文件导入 MySQL 数据库的帖子 文章phpMyAdmin 2 8 0 1他们让它听起来如此简单 但实际上并非如此 我所做的一切都没有正确 我有一个包含 2 列的表 均定义为NOT NULL
  • 为什么我不能直接将ArrayList添加到Jlist中?

    我正在尝试将 ArrayList 添加到 Jlist 但我给出的理解的唯一方法是编写如下代码 ArrayList
  • 错误消息“程序不包含适合入口点的静态‘Main’方法”

    我有一个 ASP NET CORE 应用程序 其中包含一些项目和以下 Dockerfile FROM microsoft dotnet 2 2 aspnetcore runtime AS base WORKDIR app EXPOSE 80
  • Polymer HTML 导入已弃用

    所以我刚刚开始使用聚合物并收到以下消息 Deprecation Styling master document from stylesheets defined in HTML Imports is deprecated and is pl
  • (MongoDB) 在同一管道中结合并集和交集

    我在最新版本的 mongoDB 和 pymongo 中运行以下聚合管道 project union setUnion query a query b unwind union group id union ID date a addToSe
  • 如何在 Google 表格中创建“反向数据透视表”?

    我正在尝试生成一个 反向枢轴 功能 我一直在努力寻找这样的功能 但找不到已经存在的功能 我有一个汇总表 其中最多有 20 列和数百行 但是我想将其转换为平面列表 以便我可以导入到数据库 甚至使用平面数据来创建更多数据透视表 所以 我有这种格
  • 单独的环境配置elastic beanstalk

    我正在弹性豆茎中创建一个具有网络层和工作层的 Rails 应用程序 使用 ebextensions 内的 ELB 设置启动 Web 环境是正常的 但我无法启动工作环境 因为它没有 ELB 有没有办法为每个环境分离 ebextensions
  • C# 将字符串转换为双精度/十进制并返回字符串,保留尾随零,为千位添加逗号

    我试图获取用户输入 解析它 然后使用 String Format 显示 用逗号格式化数千个 So if user provides 1000 I will display 1 000 1000 00 gt 1 000 00 1000 0 g
  • 设置稀疏矩阵多个值的快速方法

    我在 MATLAB 中有一个稀疏的 5018x5018 矩阵 其中大约有 100k 个值设置为 1 即大约 99 6 为空 我正在尝试将大约 5 的 0 翻转为 1 即大约 125 万个条目 我想要翻转的矩阵中有 x 和 y 索引 这是我所