Remove values from cell array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
lucksBi
am 3 Jan. 2018
Kommentiert: Stephen23
am 3 Jan. 2018
Hi all
array1 = {[1,2,3,6,7,8];[1,2,6]}
array2 = {[3,6,7,8];[1,2,6]}
Remove = {[0.94,1,0.5,0.90,1,0.87];[1,0.9,1]}
Values in array1 corresponds to each value in 'Remove' e.g. 1 corresponds to 0.94, 2 corresponds to 1 and so on. In array2 i have removed some values from array1 based on a condition. Like 1,2 are removed from array1{1,1} where as no value is removed from array1{2,1} (result shown in array2)
Now I also need to remove corresponding values from 'Remove' which are removed from array1. Like 1,2 are removed from array1{1,1} so 0.94 and 1 will also be removed from 'Remove'. Result will look like this:
ResultantArray = {[0.5,0.90,1,0.87];[1,0.9,1]}
Please help.
Akzeptierte Antwort
Birdman
am 3 Jan. 2018
Consider you save the index of the first two values deleted from array1 as follows:
idx=find(array1{1,1}(1:2));
Then, delete the first two corresponding values from Remove as follows:
Remove{1,1}(idx)=[]
3 Kommentare
Birdman
am 3 Jan. 2018
Well, to generalize it, you may use ismember function as follows:
[~,idx]=find(ismember(array{1,1},[4,8]));
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!