【发布时间】:2014-10-20 23:04:26
【问题描述】:
我有一个包含 65 个元素的标题单元格
header = 'id, item1, item2, item3, ..., item64'
我还有一个 10000x1 的单元格,其 id 为:
T1
T2
T3
...
T10000
最后我有一个 1x10000 单元格数组,其中包含以下内容。例如:
cell{1} = 'T1' 'Item1' 'Item5'
cell{2} = 'T2' 'Item45'
...
cell{10000} = ...
每个可变长度(可变数量的项目)。
我需要创建一个矩阵/数组,基本上带有第 1 行的标题,如果该项目在交易中,则后续行中的每个交易都带有 1,否则为 0。像这样:
id | item1 | item2 | item3 | ... | item64
T1 | 0 | 1 | 0 ...
T2 | 1 | 0 | 0 ...
等等,所以我最终会得到一个 65x10000 数组
我曾尝试使用 MATLAB 函数 ismember,但不知道如何在数组中循环,更不用说创建数组了。我尝试创建一个零数组,但是当我尝试将每个事务放入每一行时它不起作用,因为字符串的长度不同。
感谢任何人能阐明如何在 MATLAB 中执行此操作
【问题讨论】:
-
为什么不使用单元矩阵?
-
什么是细胞矩阵?我知道matlab有矩阵类型和单元格类型吗?
-
我的意思是细胞类型。在通常的矩阵中混合字符串和值时会遇到问题。
-
我曾计划使用一种单元格类型,到目前为止,我的每个事务都在一个单元格中,但我无法将单元格中的这些单独的字符串放入包含 0 和 1 的矩阵中
标签: arrays matlab cell-array