repeat rows in a matrix based on values in one column

2 vues (au cours des 30 derniers jours)
Masih Alavy
Masih Alavy le 23 Fév 2019
Réponse apportée : dpb le 24 Fév 2019
Hello All,
I have a matrix which is attached here. Here is what I want to do: I want to make a duplicate of rows whose first column values are the same and then put the duplicate right beneath when the value of the first column changes. I have put a picture for portion of the final file that I want. Thanks for your help.

Réponse acceptée

dpb
dpb le 24 Fév 2019
u=unique(x(:,1),'stable'); % get the unique values in first column to work over; keep original order
xx=[];
for i=numel(u):1
ix=find(x(:,1)==u);
xx=[xx;repmat(x(ix,:),2,1)]; % build the new output array
end
"Deadahead" to just copy the sections to a new file; if not _terribly large x the dynamic reallocation shouldn't be too bad.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by