如何在matlab中创建相同字符串的矩阵?

时间:2016-03-29 17:07:30

标签: string matlab matrix

[金枪鱼,金枪鱼;金枪鱼,金枪鱼]

我想制作这种矩阵但是它的5x5版本。有没有这方面的功能?

2 个答案:

答案 0 :(得分:2)

另一种方法是使用deal为您执行此操作。

tuna = cell(5);
[tuna{:}] = deal('Tuna');

    'Tuna'    'Tuna'    'Tuna'    'Tuna'    'Tuna'
    'Tuna'    'Tuna'    'Tuna'    'Tuna'    'Tuna'
    'Tuna'    'Tuna'    'Tuna'    'Tuna'    'Tuna'
    'Tuna'    'Tuna'    'Tuna'    'Tuna'    'Tuna'
    'Tuna'    'Tuna'    'Tuna'    'Tuna'    'Tuna'

或者,suggested by @Amro

tuna = cell(5);
tuna(:) = {'Tuna'};

如果想要一个单元格数组而只需要一个字符数组,则可以在字符串本身上使用repmat

repmat('Tuna', 5)

    TunaTunaTunaTunaTuna
    TunaTunaTunaTunaTuna
    TunaTunaTunaTunaTuna
    TunaTunaTunaTunaTuna
    TunaTunaTunaTunaTuna

答案 1 :(得分:1)

A{1} = 'Tuna'; 
B = repmat(A, 5);

为了澄清,A{1} = 'Tuna'创建了一个带字符串的单个单元格。如果您使用A = 'Tuna',则会创建一个字符向量。以这种方式对字符向量执行repmat实际上会创建一个5x20字符数组。