Merging two arrays of two different types
4 次查看(过去 30 天)
显示 更早的评论
How can I merge two arrays of two different typesI used the following code but lost the values of the array that contains numbers ????
a=[1 2 3]
a =
1 2 3
>> b=['aa'];
>> c=[a b]
c =###aa
0 个评论
采纳的回答
Jorg Woehl
2021-3-6
You are combining double values (from a) with character values (from b), which yields a character array according to MATLAB's class conversion rules. The doubles 1, 2, and 3 are converted to their Unicode character equivalents, which are control characters and only result in empty characters/whitespace when displayed.
If you want your resulting vector c to contain the numbers from a instead, first convert the doubles to characters using num2str. Using it on the array a will lead to additional whitespace, which you may or may not want... but you can strip that out using the replace function:
c = [num2str(a) b]
c =
'1 2 3aa'
c = replace([num2str(a) b], ' ', '')
c =
'123aa'
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!