how to separate string matrix by zeros
Ältere Kommentare anzeigen
I imported some tables into matlab as string matrices. Each row contains 16 values. I would like to separte them by a group of zeros but don't know how to do it. For example, as highlighted on the image
I'd like to extract those three sections from the matrix, but don't know how to code the loop
I'd like to extract those three sections from the matrix, but don't know how to code the loopk=1;
for i=1:size(m,1)
x = m(i,:);
str = sprintf('%s,', x{:});
num = sscanf(str, '%g,', [16, inf]);
val(:,k)=num;
if sum(val(:,k))~=0
% read more rows in until sum(num)==0
k=k+1;
else
end
end
1 Kommentar
Rik
am 2 Jun. 2021
What is your intended output? A cell vector with one section in each cell element?
Akzeptierte Antwort
Weitere Antworten (1)
KSSV
am 2 Jun. 2021
id = zeros([],1) ; % indices of required strings
count = 0;
for i = 1:size(m,1)
t = str2num(m(i,:)) ;
if any(t)
count = count+1 ;
id(count) = i ;
end
end
iwant = m(id,:)
Kategorien
Mehr zu Matrix Indexing 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!