问题标签 [binary-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 二进制矩阵向量乘法
我想将表示为无符号 64 位整数的 8x8二进制矩阵乘以由无符号字符表示的 8 位向量。但是,由于其他一些问题,矩阵必须按列排序,因此没有简单的字节匹配以便于乘法。
知道如何加快这样的计算吗?每个操作都很重要,因为我需要进行数十亿次这样的计算。
乘法是在一个 2 元素字段 (F-2) 上进行的。
gnuplot - gnuplot 的八度二进制矩阵
我需要帮助来理解如何使用这个 octave 脚本
http://www.gnuplotting.org/code/save_binary_matrix.m
生成一个我想用 gnuplot 绘制的二进制矩阵。任何建议都将不胜感激,即使只是一个有助于我理解八度语法的网络链接
谢谢
马里亚诺
c++ - 两个数组的内存地址重叠
我正在研究二进制矩阵。我的两个阵列正在重叠。(我检查了地址)。这只发生在少数大小的矩阵中。因此我得到错误的结果。我尝试使用 new 来分配数组,但是这样做时会出现分段错误。有没有办法避免内存重叠?我正在使用 g++ 编译器。
这就是我声明数组的方式
在下一步中,我将初始化所有这些。A 和 B 是操作数,C 将保存结果。
我在下一阶段使用自定义乘法算法。这是一个片段
根据我的观察Tab
和C
重叠。我通过打印它们来检查内存地址。它们在第二级 for 循环的第六次迭代中重叠。(n=9,m=3,size=9,cnm=3)。我没有C
在两者之间使用过,我只在外循环中使用它。
excel - 将 ID 分配给二进制矩阵中的相同行
我有一个 1200x130 0-1 矩阵,其中一些行是相同的(一行中的 4 个,另一行中的 8 个等)。我试图找到一种有效的方法来将相同的 ID 分配给相同的行。
这是我在 Excel 中尝试过的:对于每一行,我将第 k 列条目乘以 2^k 并对所有列求和。从理论上讲,对于每个不同的行,这应该给我一个唯一的 ID,但是数字变得非常大 Excel 会混淆这些数字的比较。(我想这是因为它将它们存储为 3.234023490249 x 10^246 直到某个数字并忽略剩余的数字。)
所以我决定使用 VBA,但我能想到的唯一方法是对所有行和列进行成对比较。我相信应该有更有效的方法来处理这个问题。有什么建议吗?
(我不是在寻找特定于 Excel 或 VBA 的解决方案。任何建议都会有所帮助。)
提前致谢。
r - R:所有可能的唯一结果的二进制矩阵
如何为“i”变量 X 的所有可能排列生成二进制矩阵,其中“i”可以是 1 到无穷大之间的任何数字。结果矩阵将有 2^i 个唯一行。
对于 i=2 ,变量 x1, x2 每个的可能值为 1 或 0,因此生成的矩阵将是:
R中是否有任何功能可以生成?
我尝试了以下功能:
但结果并未显示所有可能的值。
arrays - 给定一个按行排序的布尔矩阵。返回最大数量为 1 的行
我遇到了矩阵问题,但试图找出最佳解决方案。问题陈述是问题主题本身。进一步见下文
我的解决方案:现在由于行已排序,我想在每行中执行二进制搜索,第一次出现 1,然后计数为 1 total number of columns minus index of 1st 1
。
这将在 中完成O(m*logn)
,但我很想知道是否可以在线性时间内完成逻辑。
谢谢!
matlab - 在 Matlab 中:根据体积的轮廓制作遮罩
我一直在努力寻找一个好的解决方案来解决下面描述的问题。我想避免 for 循环,但觉得我的 Matlab 技能不足以做其他事情。我有一个大小为 329x230x105 的 3D 位置矩阵。这定义了 10000x7000x3100 米的 3d 体积。除子体积外,大多数 matix 元素为零:
我需要构建一个与我的原始矩阵相同大小的掩码,该掩码被划分为大型子矩阵,每个子矩阵定义一个 1000x1000x1000 米的常规子体积,并将 1 分配给包含至少一个元素的子矩阵中的所有元素(非零)来自我的原始矩阵。在 XY 中查看:
所以最终结果是一个 3D 蒙版(下图 XY),其中标记单元格(红色)内的所有元素都具有值 1 并且外部元素设置为 0 :
请注意,我对体积边界框或凸包顶点不感兴趣。
提前谢谢了。
添加信息,回答@grantnz:
好吧,我还不确定以下代码是否适用于所有情况,但这是我所做的(在我的笔记本电脑上需要将近 10 秒):
algorithm - 以 c 为模的二进制 nxm 矩阵的数量,每列最多 k 个连续的 1
我正在尝试计算每列中最多 k 个连续值为 1 的 nxm 二进制矩阵的数量。经过一些研究,我发现找到具有 1 列和 n 行的向量就足够了。例如,如果我们有 p 个向量,则所需的矩阵数量为 m^p。因为 n 和 m 非常大(< 2.000.000),我找不到合适的解决方案。我试图找到一个递归公式,以建立一个矩阵来帮助我计算答案。那么你能建议我任何解决方案吗?
matrix - 如何在 Octave 中有效地存储和操作稀疏二进制矩阵?
我正在尝试在 GNU Octave 中操作稀疏二进制矩阵,它使用的内存比我预期的要多,并且相关的稀疏矩阵函数的行为不像我想要的那样。我看到这个关于在 MATLAB 中高于预期的稀疏矩阵存储的问题,这表明这个矩阵应该消耗更多的内存,但有助于解释(仅)这种情况的一部分。
对于稀疏的二进制矩阵,我想不出任何方法让 Octave不存储值数组(它们总是隐式1
的,因此不需要存储)。这可以做到吗?Octave 似乎总是消耗值数组的内存。
演示这种情况的精简示例:创建随机稀疏矩阵,将其转换为“二进制”:
显示情况。如果创建存储类数组并且所有索引都是32 位(即,spones()
double
1
s 为double
s)超过了这个 3%-sparse 对象消耗的总内存的一半。
在撰写此问题时弄乱了这个(太久)之后,我发现了一些部分解决方法,所以我将“自我回答”(仅)部分问题的连续性(希望如此),但我没有想到对主要问题做出充分的回答:
如何在 Octave 中创建一个有效存储的(“无/隐含值”)二进制矩阵?
存储格式的其他背景如下...
Octave 文档说稀疏矩阵的存储格式使用格式Compressed Sparse Column (CSC)。这似乎意味着存储以下数组(扩展上述 SO answer,使用规范的耶鲁格式 labels
和列主要顺序的调整):
- values (
A
),存储类大小的非零数 (NNZ) 条目; - 行号(
IA
),索引大小的 NNZ 条目(希望int64
但也许int32
); - 每列的开头(
JA
),列数加 1 个索引大小的条目)
在这种情况下,对于仅二进制存储,我希望有一种方法可以完全避免存储数组(A
),但我想不通。
r - 在 R 编程中将 arules 事务数据转换为项目矩阵
我有一个包含 100,000 行的数据集,交易格式如下
我想将其转换为如下矩阵格式(或 TRUE/FALSE 标志)
我尝试了以下步骤
但是,在我的列表转换中,我得到的输出为
所以有些行是完美的,但在某些行中,唯一 id 被添加到带有 \t 和 \n 的电影列表中
我想要以下格式的列表 9C05-EE9B44E8C18F c("Bruce Almighty","Iron Man","Toy Story")
这样我相信我会很容易地达到所需的结果。非常感谢您的帮助。