массив ячеек, добавить суффикс к каждой строке

Предположим, у меня есть массив ячеек, содержащий строки:

c = {'foo1', 'foo2', 'foo3'}

Теперь я хочу добавить один и тот же суффикс «bar» к каждой строке, чтобы массив ячеек стал следующим:

c = {'foo1bar', 'foo2bar', 'foo3bar'}

Есть ли способ сделать это без явного перебора каждого элемента?


person Karnivaurus    schedule 17.03.2014    source источник


Ответы (2)


strcat работает с массивами ячеек:

>> c = {'foo1', 'foo2', 'foo3'}
c = 
    'foo1'    'foo2'    'foo3'
>> c2 = strcat(c,'bar')
c2 = 
    'foo1bar'    'foo2bar'    'foo3bar'
person chappjc    schedule 17.03.2014

Как насчет использования cellfun:

c=cellfun(@(x) strcat(x, 'bar'), c, 'Uniformoutput', 0);

Я не знаю, быстрее ли он выполняется, чем цикл, но писать его менее утомительно.

Изменить: очевидно, strcat обрабатывает массивы ячеек. Используйте cellfun для функций, которые этого не делают.

person Cape Code    schedule 17.03.2014