trasform from a cell array into a matrix
21 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
elisa ewin
il 13 Giu 2016
Commentato: Star Strider
il 13 Giu 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 Commento
David H
il 13 Giu 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.
Risposta accettata
Star Strider
il 13 Giu 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 Commenti
Andrei Bobrov
il 13 Giu 2016
A(cellfun(@isempty,A)) = {nan};
out = cell2mat(A);
Star Strider
il 13 Giu 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!