Convert 8x3 char to string sequence (MATLAB)
1 次查看(过去 30 天)
显示 更早的评论
Dear,
I have this char characters on MATLAB:
val =
'011'
'010'
'001'
'000'
'000'
'001'
'010'
'011'
I want to convert them to one sequence of type string to obtain this result:
"011010001000000001010011"
0 个评论
采纳的回答
更多回答(2 个)
Steven Lord
2022-12-1
val = ...
['011'
'010'
'001'
'000'
'000'
'001'
'010'
'011'];
s = join(string(val), '')
2 个评论
Walter Roberson
2022-12-1
Without using string(), such as for older MATLAB:
val = ...
['011'
'010'
'001'
'000'
'000'
'001'
'010'
'011'];
s = strjoin(cellstr(val), '')
Walter Roberson
2022-12-1
Interesting, using string() is measurably faster here.
format long g
val = char(randi(+'0', +'1'), 5000, 50);
N = 100;
t_string = zeros(N,1);
t_cell = zeros(N,1);
for K = 1 : N; start = tic; s = join(string(val), ''); stop = toc(start); t_string(K) = stop; end
for K = 1 : N; start = tic; s = strjoin(cellstr(val), ''); stop = toc(start); t_cell(K) = stop; end
[mean(t_string(2:end)), mean(t_cell(2:end))]
plot([t_string(2:end), t_cell(2:end)]);
legend({'string()', 'cellstr()'})
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Testing Frameworks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!