Split a double array by zero and store in a column matrix

1 Ansicht (letzte 30 Tage)
This is my code. But it gives the error 'Dimensions of matrices being concatenated are not consistent'.
My expected output is;
2 5 6 8 9
11 13 14 18
3 7 15 19 20
Please help!
Routes=[0 2 5 6 8 9 0 11 13 14 18 0 3 7 15 19 20 0];
Display=[];
Current_Cluster=[];
for i=2:length(Routes)
if Routes(i) ~=0
Current_Cluster=[Current_Cluster Routes(i)];
else
Display=[Display ; Current_Cluster];
Current_Cluster=[];
end
end
disp('Çulsters are');
Display

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 3 Mär. 2018
You cannot create a numeric matrix with that output. Your second row only has four numeric entries whereas the first and third have 5 entries.
You can create a text output that would display to look like what you want, but you cannot do it numerically.
You can create a cell array with one number per cell, and with empty cells, but you might not like the display.
  1 Kommentar
Dhanushka Sandaruwan
Dhanushka Sandaruwan am 4 Mär. 2018
Thanks Roberson. According to your comment I changed the code as follows.
Routes=[0 2 5 6 8 9 0 11 13 14 18 0 3 7 15 19 20 0];
Display={};
Current_Cluster=[];
for i=2:length(Routes)
if Routes(i) ~=0
Current_Cluster=[Current_Cluster Routes(i)];
else
Display=[Display , num2str(Current_Cluster)];
Current_Cluster=[];
end
end
disp('Culsters are');
Display'
Now it is working as I want but can't understand how it works. Anyway thanks a lot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by