问题标签 [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 回答
814 浏览

matlab - 在 Matlab 中,如何从表中删除 na 行?

在 Matlab 中,如何删除数据中包含所有 NA 或某些 NA 的行。

我有一个有列的表 date open high low close volume

日期存在于所有行中。

除了带有 NA 的日期之外,一些行还有所有其他列。

有些行的所有信息都可以,除了关闭。

  • 如何获得没有“NA”行的表格(NA除 之外的所有内容date)?
  • 如何获得仅close包含数据(数字)行的表?
  • 如何获得仅close包含非零数行的表。
  • 相反,我如何获得一个只有行的表,其中除了close具有 NA 的行之外一切都很好?

在 Matlab 文档中看到了这个矩阵:

这对于所有值为 NAN 的值(这绝不是我的情况,因为日期“索引”列始终有效......)

如果我理解正确,这意味着伪代码:

这会导致所有行在其中一列中至少包含一个数字。

...但是对于表格和仅检查数据字段有什么类似的吗?

0 投票
1 回答
258 浏览

matlab - 将数值表值转换为字符数组的最快方法

我有一个包含各种数据类型的表。例如,

我想将所有数值列转换为字符数组变量。通过这个,我的意思是结果应该等同于如果我使用以下方法初始化表:

我想尽可能快地做到这一点,因为我有一个可能有数百万行的表。

目前的工作解决方案:

首先,我得到数字列,在本例中,这将是第 2 列...

然后,我有几种方法可以将这些数值列转换为字符数组类型,它们都涉及循环数值列并使用其他一些变相的循环___fun函数......

  1. arrayfun

    /li>
  2. num2cellcellfun

    /li>

下面的速度测试,注意我只做一列和 1e5 个元素,而实际上我想做很多列和可能十倍的行,所以你可以清楚地看到速度问题......

您可以看到这些方法基本上是等效的,这可能与它们的相似性所预期的一样。

有谁知道将表中的所有数据转换为字符数组变量类型的更快方法?我曾想过通过分类,但不知道如何在那里进行。

我更喜欢与 R2015b 兼容的解决方案。

注意:我的数据包含混合类型是相关的,因为我不能(也不想)varfun( ... )在整个表上使用。

0 投票
1 回答
69 浏览

matlab - 您将如何基于多列执行行间操作?MATLAB

我是一名初级程序员,主要是自学成才。我是 MATLAB 和关系数学的新手。目前,我正在尝试在行之间执行数学运算。我想exp通过相应的标准化con,然后乘以常数。

constant是一个实验室测量,可能会在未来的实验中发生变化。因此,我给了它一个专栏。

下面是我生成的一些示例代码,用于说明我的问题和解决方案。我正在尝试从myTablerTable

我认识到我的解决方案非常草率,必须有一种方法来执行这些操作,这种操作是人类可读的并且使用较少的临时变量。简而言之,必须有一个更简单的方法。

感谢您的任何意见或建议。也许,我正在处理的数据结构组织得很差。

0 投票
1 回答
220 浏览

matlab - 如果它是类的属性,为什么更改表的变量名不起作用?

过去,我一直在广泛使用 Matlab 的table类。这个非常简单的代码,在脚本内或提示符下,按预期工作:

现在,我拥有与a相同table的.propertyhandle class

如果我在命令提示符下执行以下命令,则将zeros其分配给table,但VariableNames保留其默认值,即{'Var1', 'Var2'}等。

甚至tc.testTable.Properties.VariableNames = varNames不会改变它们。

这是一个错误,还是我错过了什么?(我正在使用 Matlab R2017b)

0 投票
2 回答
543 浏览

matlab - 如何在matlab的命令窗口中显示部分表格?

我有一个包含 17025 行的表。当我尝试显示表格时,会显示整个表格。但我想要它的小部分。如何让它以小部分显示。

0 投票
1 回答
2005 浏览

matlab - 如何为 Matlab 中表格的列中的所有表格单元格分配相同的值?

我试过了

但都失败了。

有什么办法吗?

0 投票
1 回答
1254 浏览

matlab - 在 Matlab 中创建具有行和列名的空表

我是 Matlab 的新手,所以我遇到了一个问题,我需要创建具有某些行和列名称的表。

我尝试在代码上使用上面的代码,但在创建它时出现错误(如下所述)。

使用 matlab.internal.tabular.private.rowNamesDim/validateAndAssignLabels 时出错(第 109 行) RowNames 属性必须是一个元胞数组,每个元素都包含一个非空字符向量。

matlab.internal.tabular.private.tabularDimension/setLabels 中的错误(第 173 行)obj = obj.validateAndAssignLabels(newLabels,indices,fullAssignment,fixDups,fixEmpties,fixIllegal);

matlab.internal.tabular.private.tabularDimension/createLike_impl 中的错误(第 355 行)obj = obj.setLabels(dimLabels,[]);

matlab.internal.tabular.private.tabularDimension/createLike 错误(第 62 行)obj = obj.createLike_impl(dimLength,dimLabels);

表格/initInternals 中的错误(第 206 行) t.rowDim = t.rowDim.createLike(nrows,rowLabels);

table.init 中的错误(第 327 行) t = initInternals(t, vars, numRows, rowLabels, numVars, varnames);

array2table 中的错误(第 64 行) t = table.init(vars,nrows,rownames,nvars,varnames);

CarMatrix 中的错误(第 1 行)CameraCar = array2table(zeros(0,20), 'VariableNames',{"c1","c2","c3","c4","c5","c6","c7" ,"c8","c9","c10","c11","c12","c13","c14","c15","c16","c17","c18","c19"," c20"},'行名',{1:800});

0 投票
1 回答
487 浏览

matlab - 更改现有表的列名

我在 MATLAB 中有下表:

MATLAB 自动为该表返回两列的列名A1和作为表A2A集合名称。

如何手动更改每列的名称?

0 投票
0 回答
650 浏览

matlab - 如何在 Matlab 中的表格中添加条件格式(或颜色)

如何使用数字为我的 Matlab 表格添加条件格式(例如,背景或文本更改为颜色)。

我已经想出如何格式化我的表格的数值:

0 投票
1 回答
47 浏览

matlab - 根据 MA​​TLAB 的特定字符串更改表中元素的值

假设我有以下类型的 MATLAB 表:

我想要做的是生成一个尺寸完全相同的表格,唯一的区别是与风力发电类型相对应的 Total_Power 列的数据值乘以 0.5。因此,我会得到的结果是:

我认为可以解决问题的是一些代码会扫描所有具有字符串“Wind”的行,然后在找到具有该字符串的行之后,将该行的第 3 列乘以 0.5。for 循环似乎是一个可行的解决方案,尽管我不确定如何实现它。任何帮助将不胜感激。