问题标签 [matrix-storage]

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.

0 投票
4 回答
23078 浏览

sql - 在关系数据库中存储矩阵

我正在为客户开发一个项目并完成初始数据库设计。该项目将是一个简单的网络应用程序,用于在矩阵图中跟踪流程及其结果,我正在寻找一种将这些存储在关系表中的好方法。

现在我在想我有一个通用的例程表,x 和 y 坐标也将映射,并且可能从包含记录“命中”的坐标 ID 的查找表中脱离出来。有人有更好的方法吗?

谢谢!

编辑:

这只是项目的开始,所以到目前为止我的细节有限,但我背后的多个表的主要原因是因为矩阵的大小和通用性将是完全动态的,因此每个矩阵都可能不同并且它们将被绑定到用户

我还忘了提到 x/y 值的顺序很重要,这进一步支持了我在为 xy 和值设置多个表之后的推理,因此我强烈认为需要知道每个单独的单元格很重要

例子:

这方面的基本示例(尽管是抽象的)在于有关餐厅的过程。行为包括坐下、点菜、查看菜单、点饮料、吃饭、付款等。结果是点餐、送餐、送餐、找零。虽然看起来很简单,但如果考虑到每次发生的事情都不同,就变得复杂了,在外卖或自助餐的情况下也是如此。在看到情况之间的差异时,行动和结果的顺序变得不可或缺

0 投票
3 回答
482 浏览

c++ - Looking for a C++ open source matrix storage library

The library needs to:

  1. record vector or matrices in "frames" (timestamped)
  2. enable multiple streams and markers

It would be good if the library:

  1. had a BSD licence
  2. was well documented
  3. was written in C++
  4. enabled non-linear access

I have found a library that is very interesting and does points (1) and (2): SDIF. But the documentation is lacking and the license is LGPL.

Any recommendations ?

0 投票
1 回答
1150 浏览

matlab - 在 Matlab 中使用 fitcsvm() 函数存储 ClassificationSVM 的数组/矩阵会给我一个错误,我该如何解决?

我正在尝试使用 Matlab 中的 SVM 库执行多标签分类。有一个解决方案可以使用这里称为 svmtrain() 的“旧”SVM 函数。基于此,我使用 fitcsvm() 创建了自己的函数。但是,当我尝试存储经过 SVM 训练的模型时,出现以下错误:

使用 classreg.learning.internal/DisallowVectorOps/subsasgn 时出错(第 28 行)

您不能使用 () 索引分配给 double 类的对象。

multiClassSVM>(parfor body) 中的错误(第 16 行)

SVMModel(i) = SVMModelHolder;

multiClassSVM 中的错误(第 8 行)

平均 i=1:9

如何将多个 ClassificationSVM 模型存储在一个变量中

如果有帮助,代码如下:

我将不胜感激任何帮助,或者任何以完全不同的方式解决问题的建议,如果这是要走的路。

0 投票
1 回答
80 浏览

matlab - matlab - 不固定维度矩阵,一次为结构的多个字段设置值,避免循环

我有 2 个(不是很小)3 维结构,其中矩阵作为字段:

而且我需要编写一个reset函数,在其中将值重新分配给两个矩阵中的 4 个字段中的 3 个(实际上是 12 个字段中的 10 个),如下所示:

请注意,实际上我在矩阵中需要的与reset函数相同,这意味着当第 2 维为 9 时,我只需要第 3 维的第 5120 个索引,如果第 2 维 = 4,我最多只需要 160 个索引3维等

问题是:

  1. 因为我实际上必须处理 10 个字段,所以是否有同时为字段分配值(不是 1 行 1 字段)?
  2. 有没有办法避免for循环?我试过这样:

    但是这里所有的矩阵都充满了 max 3rd-dimension = 5120 所以我希望有人可以告诉我如何使用矢量化函数arrayfun, bsxfun, cellfun etc.,比如上面的 for 循环,它可以只适用于“半立方”。

更新:感谢 horchler 的视频,当我将结构的矩阵更改为以矩阵作为字段的结构时,似乎解决了矩阵的大尺寸(以字节为单位)的问题。即使使用嵌套的 for 循环,这也解决了时序问题。所以我也更新了问题和输入,请参见上文。

0 投票
1 回答
100 浏览

c++ - 稀疏矩阵中的运算符+:我没有发现任何错误

大家好,我实现了一个存储在修改压缩稀疏行中的稀疏矩阵!构造函数工作正常,我可以验证它,但 operator+ 有一个奇怪的行为:如果我有一个非零值,则总和不会计算正确的结果。此处描述了修改后的压缩稀疏行方法, 我的最小工作代码如下:

这是主程序:

这个特殊的 2 矩阵给了我正确的结果!那是 :

但是如果我改变矩阵中元素(3,2)的值m01..所以矩阵变成了:

代码给了我这个错误的结果:

但是查看向量aa_(其中第一个matrix.dim是对角线元素并且后面的元素是非诊断非零元素的值向量看起来矩阵与此结果不同)它们是:

另一个示例,如果我将这一行放入 main :

给我正确的结果:

如果我改变例如 m1 和 m2 只是一点点:

这个程序退出terminate called after throwing an instance of 'std::out_of_range'

0 投票
0 回答
157 浏览

arrays - 压缩列存储表示中的 row_ptr 包含什么?

我正在阅读这篇论文 [全文链接]以了解如何存储超稀疏矩阵。他们从讨论 CSC 格式开始。正如我从 netlib 中了解到的那样,CRS和CSC 格式的存储方式如下所示

在论文的第 3 页,他们展示了 CSC 格式的图表,以 9*9 矩阵为例,该矩阵以三元组格式表示为

A = {(5, 0, 0.1), (7, 0, 0.2)(3, 6, 0.3), (1, 7, 0.4)}

据我了解,在主要列中,这将产生以下数组:

val = [0.1, 0.2, 0.3, 0.4]; //值数组

IR = [5, 7, 3, 1];//行索引数组

JC = [0, 2, 3, 4]; //列ptrs数组(最后一个元素是非零元素的数量)

在论文中,他们将 JC 数组写为

JC = [0, 2, 2, 2, 2, 2, 2, 3, 4, 4];

我想知道额外的'2'来自哪里。它们代表空列吗?为这样一个基本问题道歉,但任何帮助表示赞赏。