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

   a='This is a book'

Как мы можем преобразовать указанный массив строк в массив символов с помощью функции в Matlab, как показано ниже?

    b={'T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 'b' 'o' 'o' 'k'}
0
Saeed_Mousazadeh 29 Май 2017 в 01:12

2 ответа

Лучший ответ

Ваш a не является строковым массивом; это массив символов (который также назывался строкой, но начиная с R2016b этот термин имеет другое значение). Ваш b не массив символов, это массив ячеек, содержащий символы.

В любом случае, для преобразования из a в b используйте num2cell:

a = 'This is a book';
b = num2cell(a);
0
Luis Mendo 28 Май 2017 в 22:29

Если вы действительно хотите преобразовать строку (введенную с R2016b) в массив символов, это то, что вы делаете.

s = "My String"; % Create a string with ""
c = char(s); % This is how you convert string to char. 
isstring(c)

ans =

logical

0

ischar(c)

ans =

logical

1
0
Y. Chang 28 Май 2017 в 23:15