Removing values from a variable.

11 Ansichten (letzte 30 Tage)
RDG
RDG am 19 Mai 2014
Bearbeitet: Jos (10584) am 20 Mai 2014
I need some help. I can't seem to get the result for the following:-
Suppose, I have the following cell array:
A{1}=[1 2 2; 2 2 2; 3 1 2; 4 5 6; 5 5 6; 7 1 2] %Remove value of 4 5 6 and 5 5 6 based on Variable B's second and third column
B{1}=[4 5 6]
How can I remove the value of 4 5 6 and 5 5 6 in A, based on B's second and third column?
My resultant, should be [1 2 2; 2 2 2; 3 1 2; 7 1 2]
Many thanks in advance.

Antworten (2)

Douglas Alves
Douglas Alves am 19 Mai 2014
Bearbeitet: Douglas Alves am 19 Mai 2014
A{1}=[1 2 2; 2 2 2; 3 1 2; 4 5 6; 5 5 6; 7 1 2] ;
A{1}(4:5,:) = [] ;
it means access the first element of cell 1 (which is a matrix). in parenthesis access the rows 4 and 5 no matter the columns... equal it to []

Jos (10584)
Jos (10584) am 19 Mai 2014
Bearbeitet: Jos (10584) am 20 Mai 2014
What are the exact criteria for removal? Just when the second column of A{1} matches the second value of B{1} and the third column of A{1} matches the third value of B{1}?
And why do you store them as an element of a cell array
A = [1 2 2; 2 2 2; 3 1 2; 4 5 6; 5 5 6; 7 1 2]
B = [4 5 6]
tf = A(:,2)==B(2) & A(:,3)==B(3) % select
A(tf,:) = [] % remove

Kategorien

Mehr zu Data Types 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!

Translated by