2014-07-16 83 views
1

預先感謝您的幫助。Matlab:將單元格轉換爲可讀格式

我有值的數組,看起來像這樣

[[1x5 double]; [1x2 double]; ....] 

我想將其轉換爲類的這種

['12345'; '12'; ....] 

cell2mat我想要做什麼,但我最終得到這個

[['1' '2' '3' '4' '5']; ['1' '2'];...] 

我一直都超過了Matlab的文件,並沒有發現一種方法做 這個。真的,我想要的只是將[1x5 double]轉換爲一個字符串(由於我不想丟棄無關緊要的零,我不能將其轉換爲數字)。除了用for循環手動執行此操作還有一個簡單的方法嗎?

回答

0

如果input_array是您的輸入陣列,嘗試這種cellfun + num2str基礎的方法 -

cellfun(@(x) num2str(x,'%1d'), input_array,'uni',0) 

實施例 -

%// Input array 
input_array = {randi(9,1,5)-1;randi(9,1,2)-1} 

%// Display the cell array values for verification of results later on 
celldisp(input_array) 

%// Output 
out = cellfun(@(x) num2str(x,'%1d'), input_array,'uni',0) 

輸出(上運行) -

input_array = 
    [1x5 double] 
    [1x2 double] 

input_array{1} = 
    3  6  0  5  3 
input_array{2} = 
    6  2 

out = 
    '36053' 
    '62' 
+0

正是我需要的。非常感謝你。 – HXSP1947

+0

@ user2736423不客氣,很高興幫助! – Divakar