copy matched data with multiply\duplicate
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Amr Hashem
am 15 Mai 2015
Bearbeitet: Amr Hashem
am 16 Mai 2015
i have this two tables querymdr & idx2 :
i want to compare the fisrt two coulmns of them , and the multiple value copy column 6 of it only
i want to have the answer like this:
what i can do? any one has an idea?
3 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 16 Mai 2015
amr - There are several ways to do this. If we assume that the first column is in ascending order (will this always be true?), then you can iterate over each row and find those that have the same element in the first row. Try the following
numCols = 6;
% initialize the text array
textArray = cell(size(idx2,1),numCols);
atRow = 1;
% iterate over each row of idx2
start = 1;
for k=2:size(idx2,1)
% check to see if the kth row is different from the starting row
if idx2{k,1} ~= idx2{start,1}
% create the new row
textArray(atRow,1:numCols) = idx2(start, 1:numCols);
for r=1:(k - start - 1)
text(atRow, numCols + r) = idx2(start + r, numCols);
end
start = k;
atRow = atRow + 1;
end
end
% repeat for the final row of idx2
textArray(atRow,1:numCols) = idx2(start, 1:numCols);
for r=1:(k - start)
textArray(atRow, numCols + r) = idx2(start + r, numCols);
end
Note that text may have several blank rows that you can remove as
textArray(atRow+1:end,:) = [];
Note that text is the name of a built-in MATLAB function so in the above example I renamed it to textArray. (Always try to avoid creating variable with names of MATLAB functions to avoid future headaches when trying to debug the code.)
1 Kommentar
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!