What does ix=ismembe​r(vars,["s​tate","sou​rce"])| contains(vars,["lat", "lon", "timestamp", "damage", "event"]); do?

1 Ansicht (letzte 30 Tage)
What does the code line
ix=ismember(vars,["state","source"])| contains(vars,["lat", "lon", "timestamp", "damage", "event"]);
As far as I understand, the ix of each row is 1 when "state" and "source" or ["lat", "lon", "timestamp", "damage", "event"] are in the vars-string. Is this correct?
  1 Kommentar
Stephen23
Stephen23 am 13 Jan. 2022
Where any element of vars is either:
  • equal to "state"
  • equal to "source"
  • contains "lat"
  • contains "lon"
  • contains "timestamp"
  • etc.
the corresponding element of the output IX will be TRUE, otherwise the element will be FALSE.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 13 Jan. 2022
idx1=ismember(vars,["state","source"]) ; % gives logical indexing where state, source are presnt in vars
idx2 = contains(vars,["lat", "lon", "timestamp", "damage", "event"]); % gives logical indices where loat, lon etc are present in vats
ix = idx1 | idx2 ; % gives logical indexing of or of the above indices
  6 Kommentare
Stephen23
Stephen23 am 13 Jan. 2022
"Why are there two functions, which do the same thing?"
They don't do the same thing.
Marcel345614
Marcel345614 am 13 Jan. 2022
Thanks!
What about my second question? (Sorry, it seems that I have edited to late)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by