【问题标题】:concatenating class labels with different size连接不同大小的类标签
【发布时间】:2017-04-04 07:41:55
【问题描述】:

我有针对不同情况的不同类别标签。我想将所有案例的类标签连接到一个向量中。类标签有不同的大小,它们有 char 类型。

比如我有10个案例,每个案例都有5个类标签,类标签是:a,ab,cd,fgh,khgld。我怎样才能做到这一点? (我需要在每种情况下对其进行 vetroized 并最终对所有情况进行矢量化。所以它将是 50*1 (是否可能只有 1 列与不同大小的标签相反))

由于大小不同,无法拼接,我也用cell做,结果不正确。

提前致谢

【问题讨论】:

  • 您的预期输出是什么? C = {'a','ab','cd','fgh','khgld'}; => S = string(C); 对你有帮助吗?
  • 是的,我想是的。谢谢你的建议。还有一个问题,因为类标签的长度不同,在这种方法中,我们有最大长度的标签。在此示例中,它们将采用以下格式:['a','ab','cd','fgh','khgld']。我想这会带来一些问题吗?我说的对吗?(我的意思是因为例如 a 是一个字符,这个函数会增加 4 个空格,直到我们的长度与其他函数相同)
  • 对不起,我不明白你在问什么
  • 让我重新表述一下。如上所述,我有 5 个类别标签。此类标签采用单元格格式。我想把它们放在一个向量中。所以我需要它们具有相同的大小。此函数 string 将空格添加到长度不为 5 的标签(5,因为 khgld 有 5 个字符。),例如标签 a。我想知道这个空间是否重要?
  • 没有。 string 将它们转换为字符串数组(它是 not char 数组)

标签: matlab label dimensions


【解决方案1】:

我在每个比最长的字符串都短的字符串中添加了空格:

c = {'sas','as','tttttt'};
s = max(cellfun('size',c,2));
c = cellfun(@(str) [str,repmat(' ',[1 s - numel(str)])],c,'UniformOutput',0);
m = cell2mat(c')

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    相关资源
    最近更新 更多