2016-04-06 15 views
0

ich eine Anordnung von Zellen haben, die so (wirklich groß sein, könnte die Länge des Ergebnisses)Matlab Änderung jeder char Element zu Zelltyp in einem Zellenfeld

result = 
    [49x2 char] 
    [49x2 char] 
    [49x2 char] 
    [49x2 char] 
    [49x2 char] 
    [49x2 char] 

sieht Und ich will jedes Element ändern zum Zelltyp. wie

r = cell{2,1}, r{1} = ['ab';'cd';'rf'], r{2} = ['rt';'cd';'er'] 

zu

r = {'ab';'cd';'rf';'rt';'cd';'er'} 

Ich habe versucht, Sätze wie cellstr ([r {:}]) zu verwenden, aber es stellt sich heraus, diese wird

r = 
'abab' 
'cdcd' 
'rfrt' 

r

ändern Und ich weiß, dass ich Schleife wie diese verwenden kann

for i = 1:length(r) 
a = [a ; cellstr(r{i})] 

Aber ich denke es zu viel Platz Küste. Und kann jemand helfen? Vielen Dank.

+0

können Sie eine MAT-Datei hier? es wäre einfacher und schneller – 16per9

+0

was? Sie sollten nur cellstr auf jede Zeile Ihres Ergebnisses anwenden – GameOfThrows

Antwort

1

Sie haben es fast. Sie müssen die kommaseparierte Liste vertikal, nicht horizontal verketten. Verwenden Sie also

cellstr(vertcat(r{:})) 
Verwandte Themen