问题标签 [matlab-table]

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 投票
6 回答
75959 浏览

matlab - 显示带有行和列标签的矩阵

有没有一种方便的方法可以在 Matlab 终端中显示带有行和列标签的矩阵?像这样的东西:

产生:

更好的是带有一些 ASCII 艺术细节的东西:

0 投票
2 回答
649 浏览

matlab - MATLAB:ismember vs isequal

如果AB是具有相同列(并且顺序相同)的表(或数据集),则表达式 likeismember(A(:, somecols), B(:, somecols))将生成一个适合索引的布尔数组A,如

上面的行计算为 a table(或dataset,取决于 的类),其中包含与中指定的列中的某行匹配A的那些行。ABsomecols

但现在假设它B正好有一排。更现实地,假设从中选择行的标准A只是匹配的单行B比如第一行。

可以这样做:

我对此的主要疑问是它不是“语义清晰”,因为ismember它实际上被用来测试是否相等。

如果可以写的话,语义上会更清晰

但这确实不会产生预期的结果。(具体来说,即使A(:, ...)包含匹配的行,它也不返回匹配项B(1, ...)。)

我的问题是,将正确产生与问题“此行是否与此参考行A匹配”对应的逻辑向量的谓词是什么?somecols

0 投票
2 回答
2179 浏览

matlab - 如何将聚合函数应用于表(或数据集)行组?

假设我有一些table(或dataset)对象,在其变量A中包含一些因素X(具有n 个不同的值或“级别”)。还假设我有一些自定义聚合函数agg,它将一系列行作为输入,并返回一个汇总数字(又名“聚合”)作为输出。

统计数据分析中一个极其A常见的操作示例是根据X因子的值对行进行分组,并将其应用于agg由组中的行组成的数组。这种操作的结果应该是一个新的table(或dataset,取决于 的类A),具有n行和两个变量。这些变量中的第一个应该命名为X,并且应该包含因子 in的n 个不同值,第二个应该有一些合适的(最好是用户指定的)名称,并且应该包含应用于行组的结果相应的级别。XAaggX

正如我所说,这是在 MATLABtabledataset对象等数据结构上执行的非常标准的操作,所以我期待有一种内置的方法可以做到这一点,但我没有找到它。


例如,让我们A定义如下:

另外,让XbeTrafficLightaggbe

(当然,我在agg这里使用它只是为了使示例尽可能简单。在实践agg中会远不那么简单。)

group_aggregate我正在考虑的典型函数通常将聚合函数、计算聚合的输出中列的名称、a table(或dataset)以及一个或多个要分组的变量的名称作为输入参数(以某种顺序)经过。因此,在此示例中,对此类函数的调用及其输出将如下所示

顺便说一句,为了得到上面的结果,我变出了这只绝望的小野兽:

我希望内置解决方案对例如X变量的不同类型的值等更健壮。

0 投票
1 回答
3659 浏览

matlab - 在 Matlab 中预分配表的最佳方法是什么?

通常我使用或根据数据类型进行预分配,但是预分配表的最佳方法是什么,因为它可以容纳各种数据结构cell()zeros()ones()

我说的table()是 Matlab 2013b 中添加的功能。

显然我可以使用这样的代码来保留内存:

但是当我的表应该包含各种数据类型时,我遇到了问题。想象一下,我现在想填写一列整数,或者像我的情况一样,用包含字符串、整数和浮点数的观察值填充每一行。吨

0 投票
3 回答
9585 浏览

matlab - 如何在旧版本的 Matlab 中使用表格?

MATLAB 2010 或更低版本中是否有任何函数可以以表格形式打印结果(例如:某些矩阵)?我从谷歌搜索得到的只是一个table()只能在 MATLAB 2013 或更高版本中使用的函数。我的机器里有 MATLAB 2010,下载更新版本是不切实际的,因为它非常大而且我很着急。谢谢你。

0 投票
1 回答
302 浏览

matlab - 按键展平matlab表格

我有一个大表,其条目是

其中 KEY_A 和 KEY_B 是有限的密钥集。为了参数,我们将有 4 个不同的 KEY_B 值和 4 个不同的 KEY_A 值。和示例表:

我想优雅地将桌子平成

我希望能够处理丢失的 B 值(将它们设置为默认值,如 -1),但我认为如果我能以一种优雅的方式开始执行此操作,那么这些事情就会落实到位。

实际表有数百万条记录,所以我确实想使用矢量化调用。

我得到的行(不处理 int invalid 5)是:

  1. 它不会输出不同的表
  2. 如果表中缺少键,它不会处理

我认为这并不少见……以前有没有人做过这样的事情?

0 投票
2 回答
473 浏览

matlab - 使用 varfun 分组的最大值索引

我有一张带有 ID 和日期的表格。我想检索每个 ID 的最大日期的索引。

我最初的方法是: varfun(@max, table, 'Grouping Variables', 'Id', 'InputVariables','Date');

这显然给了我日期而不是索引。我注意到 max 函数在指定时将返回 maxvalue 和 maxindex: [max_val, max_idx] = max(values);

如何使用 max 定义匿名函数来检索 max_idx?然后我会在 var_fun 中使用它来获得我的结果。

我不想在 max() 上声明一个覆盖函数(而不是匿名函数):1.我正在使用脚本,不想创建另一个函数文件 2.我不愿意改变我的当前脚本到函数

谢谢百万人

0 投票
2 回答
3161 浏览

matlab - 过滤 Matlab 表中的单词(如在 Excel 中)

在 Excel 中,您可以使用“过滤器”功能在列中查找某些单词。我想在整个表格的 Matlab 中执行此操作。

以 Matlab 示例表“patients.dat”为例;我的第一个想法是使用:

这是行不通的。

仅在一列(“性别”)中工作。

我的问题:我有一张桌子,上面有不同的词,比如'A'、'B'、'bananas'、'apples'、....以任意方式分布在表格的列中。我只想要包含“A”和“B”的行。

奇怪的是,我在 matlab 的“帮助”中没有找到这个,因为它看起来很基础。我查看了stackedO,但也没有找到答案。

0 投票
0 回答
144 浏览

matlab - 根据数据量对 Uitable MATLAB 中的行数进行编程

我正在尝试按照 MATLAB 网站上提供的示例在我的 MATLAB GUI 中创建一个 uitable,我能够创建一个。但是,就我而言,表中的行数取决于我的数据大小。所以我想知道如何适当地标记行。假设数据可能有 N 个点我希望行读取 1 2 3 4,.....N

任何人都知道如何修改代码以使其做到这一点?

这是我到目前为止所拥有的:

谢谢

0 投票
1 回答
467 浏览

matlab - 更快的 Matlab 表创建

我注意到在 Matlab 中创建相当大的表(> 10,000 行)可能会很慢,因为构造函数调用了一个函数,checkDuplicateNames. 但是,我通常确信我传递给表的名称已经是唯一的。

下面很好地说明了这个问题。生成 10,000 个随机值需要不到一毫秒的时间,但生成带有字符串行名的随机值表需要 1.4 秒,而通过检查重复的行名则需要 1.4 秒:

那我很好奇,有没有另一种方法可以在 Matlab 中创建表而不调用checkDuplicateNames函数?