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
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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Star Strider
Star Strider am 13 Jun. 2016

1 Stimme

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

A(cellfun(@isempty,A)) = {nan};
out = cell2mat(A);
Star Strider
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by