问题标签 [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 投票
1 回答
94 浏览

excel - 从 excel 文件中读取 datenum 而不是 datestr

我正在尝试从 excel 表中读取测试表,我的 excel 表看起来像这样

现在,当我使用以下命令在 matlab 中将其作为表格阅读时:

我得到类似的东西

现在,如果您注意到start_timeandend_time是以datenum格式而不是 a 格式检索的,datestr我该如何保存这段时间,以便当我检索这些变量时它们是 datestr 格式?

0 投票
1 回答
265 浏览

arrays - 如何根据 MA​​TLAB 中的唯一日期遍历表

我有这个名为的表BondData,其中包含以下内容:

对于此表中的每一天,我将执行一项特定任务,即为变量分配多个值并执行必要的计算。逻辑是这样的:

这就像我想遍历我的结算日期并执行任务,只要日期相同。

编辑:为了澄清我的问题,我正在使用 Nelson-Siegel 和 Svensson 模型实现收益率曲线拟合。到目前为止,这是我的代码:

同样,我的主要目标是每天获取每个模型的参数(beta0、beta1、beta2 等)。我收到一个错误,Instruments = [Settle Maturity CleanPrice CouponRate];因为 Settle 仅包含一条记录(2016 年 8 月 27 日),假设有两条,因为该日期有两行。此外,我注意到 Maturity、CleanPrice 和 CouponRate 包含所有记录。它们应该只包含每天的相应数据。

希望我现在让我的问题更清楚。顺便说一句,我使用的是 MATLAB R2015a。

0 投票
1 回答
691 浏览

matlab - 使用 MATLAB 表的 Sequentialfs

我以前只使用大型矩阵作为sequentialfsMATLAB 函数中的参数。我有一个新升级的 MATLAB,其中包含Table数据类型——非常方便。我试图重新编写一个使用表集执行顺序特征选择的脚本,但遇到了麻烦。

产生的第一个错误是

使用 statslib.internal.grp2idx 时出错(第 44 行) 您不能只使用一个下标为表下标。表下标 > 需要行和变量下标。

grp2idx 错误(第 28 行)[varargout{1:nargout}] = statslib.internal.grp2idx(s);

cvpartition 错误(第 164 行) cv.Group = grp2idx(N);

脚本错误(第 32 行) c = cvpartition(group,'k',10);

如果我将 转换为分类数组,此错误就会消失,但随后会在调用classlab时产生第二个错误:sequentialfs

使用 sequencefs 时出错(第 345 行)所有输入参数必须是表。

所以我的问题是,本质上,如何在顺序特征选择过程中使用表格?特别是,第一个错误让我感到困惑,因为我给它提供了一个带有指定索引的表。对于第二个错误,cvpartition返回一个 cvpartition 对象并y已转换为分类数组。第一个从来不是一张桌子,而在第二个中,由于第一个错误生成,我似乎被锁定了。

0 投票
1 回答
281 浏览

matlab - 将一个表的多行添加到另一个表

我有一个如下表:(这是我表中的几行)

电话:

我需要带用户A然后创建一个像Previous table(Table T)这样的表并且所有行都与用户A相关才能进入该表。此时表中的行如下:

接下来,考虑与该用户相关的产品,即 x,y,z 。然后所有包含 x 和 y 和 z 的行都添加到表中。表中的这一点是以下几行:

然后,其他用户已添加到表中以考虑,即 B,C 。然后对第一个用户(A)做了同样的事情,然后对这个用户做了同样的事情(分别对 B 然后 C)。这样做是为了在表中添加所需的行数。例如,这里需要 8 行。即最终结果如下:

即,当工作完成时,要导入的第二个表行中的请求行数。

如果有任何机构在这方面帮助我,我将不胜感激。

0 投票
1 回答
88 浏览

matlab - 如何在 MATLAB 的这个分隔表中取第二列?

我认为该表是制表符分隔的,因此 TSV 但我的以下代码永远不会完成,因为该行ecg = tdfread(filename, '\t');建议我分隔符\t不正确,因为文件大小约为 350 MB,应该没问题。

数据样本 1 关于 AD 单元的示例

例如,在通道 1(第 1 列)、startTime 1 和 endTime 4 的情况下调用。getECG(16265, 1, 1, 4)这可以通过以下 Shai 的命令解决,但它会因第二个数据样本而失败

第二个带有物理单元的数据集,因为 AD 单元在数据处理中失败

NSRDB/16265.txt

图 1 我目前的方法ecg = dlmread(filename, ' ', 2, 0);导致 13 列

在此处输入图像描述

测试 Shai对第二个数据集的建议

图 2 现在有六列,其中第二个数据列失败,但第一个空列仍然存在

在此处输入图像描述

数据:WFDB MIT-BIH NSRDB

0 投票
1 回答
41 浏览

matlab - How to extract information meeting a specific criterion from a table?

I have a table with 6 columns and 140,000 rows, and I can't figure out how to extract specific information from the table. For instance, when I try to extract all the accidents that happens on a specific date, either it tells me that the row '12/05/2015' does not exist or it doesn't let me set 'Date' as a Row Name since the dates repeat because more than one accident happens in a day, thus giving me the error that 'Duplicate row name: '01/01/2015'.

How can I pick a date and extract all of the data that corresponds to it?

P.S. Below you can see two photos, one of the table and one of the errors I get when trying to set date as a row to make everything clearer.

Picture of table

Picture of error

0 投票
2 回答
820 浏览

matlab - 如何仅重命名 MATLAB 表中的几个变量?

我想生成一个表,但只想设置一个变量的变量名,但希望所有其他变量保留其名称。

例如,假设我有这些数据:

我现在可以使用以下方法制作表格:

这给了我这个:

我想得到这个:

我试图这样做:

但这会产生错误:

如何解决我的 MATLAB 2014b 问题?

对于我的数据,d生成并循环制作表格,我想保留d. 如果这在某种程度上很重要。

0 投票
2 回答
105 浏览

matlab - 如何对满足特定条件的某些单元格(表格内)进行计算?

我有以下代码:

这是我的桌子: 在此处输入图像描述

问题:我的 sum 函数对每个日期的整个行值(列 4-281)求和,而对于任何给定日期,我只希望添加标题位于 ABC.L 的单元格数组中的那些单元格。


X = ABC.L{1, 1}; 给出(摘录):

在此处输入图像描述


红色箭头:sum 函数引用的是什么(同一日期的 L)。

绿色箭头:我现在要参考的内容(上一个日期的 L)。 在此处输入图像描述

谢谢你的帮助

0 投票
2 回答
1299 浏览

matlab - matlab中表格的堆积条

我想从表格中创建堆积条形图。这里有一个我正在查看的表格类型的 MWE:

T_new

堆叠 BAR 的类型

=====================

根据T_new表格,我想创建一个堆积条形图。在“x”轴上,图表应显示日期(1990、1991 等),每个日期应为一个堆叠条形图。因此,例如,1990应该有一个条形图堆叠值0.2933 0.29471 0.41199

理想情况下,在堆栈栏中,我还希望包含 (country1, country2, world) 的标签以表示对应的值。

我如何在 matlab 中做到这一点?

0 投票
2 回答
139 浏览

matlab - 将时间戳统一为日期字符串

MATLAB R2015b

我有一个表格,其中每行的两列中包含各种格式的日期字符串和时间字符串:

我想将这两列转换为具有通用格式的一列:

我当前的解决方案在每一行上使用循环并将列组合为字符串,检查各种格式以使用 datetime 和适当的格式字符串,然后使用 datestr 和所需的格式字符串。Datetime 无法自动确定输入字符串的格式。

可以想象,对于大型表(大约 50000 行)来说,这非常慢。

有没有更快的解决方案?

提前致谢。