问题标签 [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.
matlab - 显示带有行和列标签的矩阵
有没有一种方便的方法可以在 Matlab 终端中显示带有行和列标签的矩阵?像这样的东西:
产生:
更好的是带有一些 ASCII 艺术细节的东西:
matlab - MATLAB:ismember vs isequal
如果A
和B
是具有相同列(并且顺序相同)的表(或数据集),则表达式 likeismember(A(:, somecols), B(:, somecols))
将生成一个适合索引的布尔数组A
,如
上面的行计算为 a table
(或dataset
,取决于 的类),其中包含与中指定的列中的某行匹配A
的那些行。A
B
somecols
但现在假设它B
正好有一排。更现实地,假设从中选择行的标准A
只是匹配的单行,B
比如第一行。
可以这样做:
我对此的主要疑问是它不是“语义清晰”,因为ismember
它实际上被用来测试是否相等。
如果可以写的话,语义上会更清晰
但这确实不会产生预期的结果。(具体来说,即使A(:, ...)
包含匹配的行,它也不返回匹配项B(1, ...)
。)
我的问题是,将正确产生与问题“此行是否与此参考行A
匹配”对应的逻辑向量的谓词是什么?somecols
matlab - 如何将聚合函数应用于表(或数据集)行组?
假设我有一些table
(或dataset
)对象,在其变量A
中包含一些因素X
(具有n 个不同的值或“级别”)。还假设我有一些自定义聚合函数agg
,它将一系列行作为输入,并返回一个汇总数字(又名“聚合”)作为输出。
统计数据分析中一个极其A
常见的操作示例是根据X
因子的值对行进行分组,并将其应用于agg
由组中的行组成的数组。这种操作的结果应该是一个新的table
(或dataset
,取决于 的类A
),具有n行和两个变量。这些变量中的第一个应该命名为X
,并且应该包含因子 in的n 个不同值,第二个应该有一些合适的(最好是用户指定的)名称,并且应该包含应用于行组的结果相应的级别。X
A
agg
X
正如我所说,这是在 MATLABtable
和dataset
对象等数据结构上执行的非常标准的操作,所以我期待有一种内置的方法可以做到这一点,但我没有找到它。
例如,让我们A
定义如下:
另外,让X
beTrafficLight
和agg
be
(当然,我在agg
这里使用它只是为了使示例尽可能简单。在实践agg
中会远不那么简单。)
group_aggregate
我正在考虑的典型函数通常将聚合函数、计算聚合的输出中列的名称、a table
(或dataset
)以及一个或多个要分组的变量的名称作为输入参数(以某种顺序)经过。因此,在此示例中,对此类函数的调用及其输出将如下所示
顺便说一句,为了得到上面的结果,我变出了这只绝望的小野兽:
我希望内置解决方案对例如X
变量的不同类型的值等更健壮。
matlab - 在 Matlab 中预分配表的最佳方法是什么?
通常我使用或根据数据类型进行预分配,但是预分配表的最佳方法是什么,因为它可以容纳各种数据结构cell()
?zeros()
ones()
我说的table()
是 Matlab 2013b 中添加的功能。
显然我可以使用这样的代码来保留内存:
但是当我的表应该包含各种数据类型时,我遇到了问题。想象一下,我现在想填写一列整数,或者像我的情况一样,用包含字符串、整数和浮点数的观察值填充每一行。吨
matlab - 如何在旧版本的 Matlab 中使用表格?
MATLAB 2010 或更低版本中是否有任何函数可以以表格形式打印结果(例如:某些矩阵)?我从谷歌搜索得到的只是一个table()
只能在 MATLAB 2013 或更高版本中使用的函数。我的机器里有 MATLAB 2010,下载更新版本是不切实际的,因为它非常大而且我很着急。谢谢你。
matlab - 按键展平matlab表格
我有一个大表,其条目是
其中 KEY_A 和 KEY_B 是有限的密钥集。为了参数,我们将有 4 个不同的 KEY_B 值和 4 个不同的 KEY_A 值。和示例表:
我想优雅地将桌子平成
我希望能够处理丢失的 B 值(将它们设置为默认值,如 -1),但我认为如果我能以一种优雅的方式开始执行此操作,那么这些事情就会落实到位。
实际表有数百万条记录,所以我确实想使用矢量化调用。
我得到的行(不处理 int invalid 5)是:
但
- 它不会输出不同的表
- 如果表中缺少键,它不会处理
我认为这并不少见……以前有没有人做过这样的事情?
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.我不愿意改变我的当前脚本到函数
谢谢百万人
matlab - 过滤 Matlab 表中的单词(如在 Excel 中)
在 Excel 中,您可以使用“过滤器”功能在列中查找某些单词。我想在整个表格的 Matlab 中执行此操作。
以 Matlab 示例表“patients.dat”为例;我的第一个想法是使用:
这是行不通的。
仅在一列(“性别”)中工作。
我的问题:我有一张桌子,上面有不同的词,比如'A'、'B'、'bananas'、'apples'、....以任意方式分布在表格的列中。我只想要包含“A”和“B”的行。
奇怪的是,我在 matlab 的“帮助”中没有找到这个,因为它看起来很基础。我查看了stackedO,但也没有找到答案。
matlab - 根据数据量对 Uitable MATLAB 中的行数进行编程
我正在尝试按照 MATLAB 网站上提供的示例在我的 MATLAB GUI 中创建一个 uitable,我能够创建一个。但是,就我而言,表中的行数取决于我的数据大小。所以我想知道如何适当地标记行。假设数据可能有 N 个点我希望行读取 1 2 3 4,.....N
任何人都知道如何修改代码以使其做到这一点?
这是我到目前为止所拥有的:
谢谢
matlab - 更快的 Matlab 表创建
我注意到在 Matlab 中创建相当大的表(> 10,000 行)可能会很慢,因为构造函数调用了一个函数,checkDuplicateNames
. 但是,我通常确信我传递给表的名称已经是唯一的。
下面很好地说明了这个问题。生成 10,000 个随机值需要不到一毫秒的时间,但生成带有字符串行名的随机值表需要 1.4 秒,而通过检查重复的行名则需要 1.4 秒:
那我很好奇,有没有另一种方法可以在 Matlab 中创建表而不调用checkDuplicateNames
函数?