Create columns with no zero sequentially elements of a vector
Ältere Kommentare anzeigen
I have a vector A=[4,2 3 2 2 0 0 1 2 2 0 0 1 2 3] and I am trying to create columns in new matrix with no zero sequentially elements, with a loop without success.Β1=[4,2 3 2 2] B2=[1 2 2] etc
I want to have a column with elements of A and when I find zero to create another column. Do you believe that it is feasible?
1 Kommentar
John D'Errico
am 28 Apr. 2015
You do realize that matrices MUST be rectangular? So all columns of a matrix must be the same length. This is why you failed to produce a result, since your result would not have that property.
Akzeptierte Antwort
Weitere Antworten (1)
Andrei Bobrov
am 27 Apr. 2015
Bearbeitet: Andrei Bobrov
am 27 Apr. 2015
B = zeros(size(A));
t = A > 0;
B(strfind(0,t],[0,1])) = 1;
b0 = cumsum(B);
Bout = accumarray(b0(t)',A(t)',[],@(x){x'});
1 Kommentar
nmartz
am 27 Apr. 2015
Kategorien
Mehr zu Linear Algebra 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!