arrays - 在MATLAB中将字符串单元格转换为表格列
问题描述
我尝试将向量用作表中的列(在 MATLAB 中)。但是,我总是得到不同的错误。下面是一个可重现的示例,以及收到的错误:
% What I have:
my_table = array2table(NaN(5, 3));
my_table.Properties.VariableNames = {'col_1' 'col_2' 'col_3'};
my_cell = {'a', 'b', 'c', 'd', 'e'};
% What I tried:
my_table.col_3 = my_cell; %Error: To assign to or create a variable in a table, the number of rows must match the height of the table.
my_table.col_3(1:5) = my_cell; %Error: Conversion to double from cell is not possible.
my_table.col_3.Properties.VariableTypes = {'string'}; %Error: Unable to perform assignment because dot indexing is not supported for variables of this type.
我该如何解决这个任务?
解决方案
如果您想保留cell
可以使用的类型:
my_table.col_3 = my_cell.'
优点:您可以在每一行中存储多个字符。
为什么my_table.col_3 = my_cell
不起作用:
%size(my_table.col_3) = 5x1
% ↕ ↕
%size(my_cell) = 1x5
正如您在上面看到的,单元格数组的第一个维度的大小与表的第一个维度的大小不匹配。所以你可以简单地用.'
所以现在:
%size(my_table.col_3) = 5x1
% ↕ ↕
%size(my_cell.') = 5x1
matlab(和你)很高兴。
推荐阅读
- python - 如何确认用户/通过 http 授权?
- typescript - 无法在使用 TypeORM 构建的服务器上查看图像
- mysql - MySql 优化器不使用 varchar 上的索引
- amazon-web-services - 如何创建一个在其调用函数中使用预先训练的 tf.keras.Models 的 smp.DistributedModel?
- python - ValueError: 操作数不能与形状一起广播 (10957,) (1,2)
- excel - VBA,如何打开新的excel实例
- angular - Angular 13 - 登录后菜单项不可见侧边栏组件
- bash - 等待使用任务集创建的流程完成
- php - 使用 Doxygen 将 PHP 源代码导出为 PDF
- sql - 如何摆脱oracle apex中丢失的左括号?