trasform from a cell array into a matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
elisa ewin
am 13 Jun. 2016
Kommentiert: Star Strider
am 13 Jun. 2016
Hi! I want to represent the values in pairs (attached) in a matrix
A = [
21714 1067829 '';
21714 18417 '';
21714 9241 420315;
21714 420315 420315;
21714 211286 '']
can you help me?
1 Kommentar
David H
am 13 Jun. 2016
I'm afraid you need to be more specific, what you have there is not valid matlab syntax. If you have a cell array you want to convert to a matrix you can use "cell2mat" but I am not sure this is exactly what you are asking.
Akzeptierte Antwort
Star Strider
am 13 Jun. 2016
This isn’t quite as efficient as I’d like it, but it works:
A={21714 1067829 ''; 21714 18417 ''; 21714 9241 420315; 21714 420315 420315; 21714 211286 ''};
LM = cellfun(@isempty, A, 'Uni',0);
LMN = find(cell2mat(LM));
A(LMN) = {NaN};
Result = cell2mat(A)
Result =
21714 1067829 NaN
21714 18417 NaN
21714 9241 420315
21714 420315 420315
21714 211286 NaN
2 Kommentare
Andrei Bobrov
am 13 Jun. 2016
A(cellfun(@isempty,A)) = {nan};
out = cell2mat(A);
Star Strider
am 13 Jun. 2016
Brilliant as usual, Andrei! Thank you!
I couldn’t make the logical array work without the intermediate find call. Now I see I wasn’t using the most optimal approach.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!