Matlab — объединить массив символов

#arrays #matlab #concatenation

#массивы #matlab #объединение

Вопрос:

Мой текущий код выглядит следующим образом:

  result = Month([tokens '*' names])
  

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

Теперь дата должна быть более конкретной, она хранится в массиве символов dateno (здесь есть 4 даты). например:

 dateno
ans =
20140625
20140618
20140611
20140604
  

Теперь я хочу, чтобы результат был равен месяцу, отфильтрованному, как и раньше, но с использованием только дат в dateno. На первый взгляд кажется, что я мог бы сделать

 result = Month([tokens dateno names])
  

Но это дает

 Error using horzcat
Dimensions of matrices being concatenated are not consistent.
  

Есть идеи?

Комментарии:

1. Каковы типы переменных tokens и names ? Являются ли эти массивы?

2. Они относятся к классу char, например, token = abcd, names=foobar

Ответ №1:

Посмотрите, работает ли это для вас —

 result = month(strcat(token,cellstr(dateno),names))
  

который будет выводом массива ячеек. Если вы хотели получить результат в виде символа, оберните его с помощью char .