【问题标题】:How to repeat a character multiple times as a MATLAB array?如何将一个字符作为 MATLAB 数组重复多次?
【发布时间】:2014-03-07 18:53:59
【问题描述】:

给定 MATLAB 字符数组中的单个字符串值:

['12 N']

如何在一个新的字符数组中重复这个值 X 次?

例如:

X = 5

['12 N'; '12 N'; '12 N'; '12 N'; '12 N']

【问题讨论】:

    标签: arrays matlab repeat character-arrays


    【解决方案1】:

    使用repmat函数:

    A = ['12 N'];
    X = 5
    Output = repmat(A, X, 1);
    

    将产生一个字符数组。

    根据您的最终用途,您可能需要考虑使用字符串元胞数组:

    Output = repmat({A},X,1);
    

    【讨论】:

    • 啊,在我输入答案的时候你打败了我!
    • 最后一行不正确:repmat({A},X,1); 创建一个由 char 数组组成的元胞数组,而不是字符串。 (编辑:我意识到发布这个答案时,Matlab 尚未引入 string 类,因此有时使用“字符串”一词来指代 char 数组)
    【解决方案2】:

    repmat 是显而易见的方法,但你可以使用kron

    A = ['12 N'];
    X = 5
    B = char(kron(A,ones(X,1)))
    

    傻,是的……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 2014-07-20
      相关资源
      最近更新 更多