Filter löschen
Filter löschen

Remove values from cell array

1 Ansicht (letzte 30 Tage)
lucksBi
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
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
Birdman am 3 Jan. 2018
Well, to generalize it, you may use ismember function as follows:
[~,idx]=find(ismember(array{1,1},[4,8]));
lucksBi
lucksBi am 3 Jan. 2018
Thanks alot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by