How to search and find array in array?

3 visualizzazioni (ultimi 30 giorni)
Hello,
I create an array below;
bigArray = rand(1,150);
bigArray(1,15:19) = [1 1 1 1 1]';
bigArray(1,25:29) = [1 1 1 1 1]';
bigArray(1,75:79) = [1 1 1 1 1]';
bigArray(1,105:109) = [1 1 1 1 1]';
bigArray(1,65) = 1;
bigArray(1,5:6) = [1 1]';
I want to find [1 1 1 1 1]' array indexes. But I run the code;
idx = find(ismember(bigArray,[1 1 1 1 1]'))
idx = 1×23
5 6 15 16 17 18 19 25 26 27 28 29 65 75 76 77 78 79 105 106 107 108 109
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
I want to see as an output; [15 16 17 18 19 25 26 27 28 29 75 76 77 78 79 105 106 107 108 109]

Risposta accettata

Star Strider
Star Strider il 12 Set 2024
The ismember function is doing exactly what it should. You need to examine ‘bigArray’ tto understand its output.
Try this —
bigArray = rand(1,150);
bigArray(1,15:19) = [1 1 1 1 1]';
bigArray(1,25:29) = [1 1 1 1 1]';
bigArray(1,75:79) = [1 1 1 1 1]';
bigArray(1,105:109) = [1 1 1 1 1]';
bigArray(1,65) = 1;
bigArray(1,5:6) = [1 1]';
disp(bigArray)
Columns 1 through 18 0.5068 0.9505 0.0516 0.0882 1.0000 1.0000 0.0318 0.3127 0.8880 0.0266 0.9131 0.8241 0.3292 0.0973 1.0000 1.0000 1.0000 1.0000 Columns 19 through 36 1.0000 0.4800 0.7703 0.2106 0.1942 0.6979 1.0000 1.0000 1.0000 1.0000 1.0000 0.4912 0.4754 0.2845 0.7561 0.9840 0.1853 0.1938 Columns 37 through 54 0.4194 0.0772 0.1116 0.3382 0.2339 0.0543 0.3256 0.9436 0.2975 0.6174 0.2227 0.7096 0.5371 0.9033 0.7377 0.5522 0.5055 0.3581 Columns 55 through 72 0.8638 0.2271 0.3195 0.0197 0.4622 0.0299 0.3055 0.4705 0.3989 0.4399 1.0000 0.6735 0.8151 0.1478 0.8166 0.2860 0.6436 0.8295 Columns 73 through 90 0.4801 0.7913 1.0000 1.0000 1.0000 1.0000 1.0000 0.8977 0.8132 0.6884 0.4697 0.2341 0.1666 0.4997 0.6061 0.5467 0.4436 0.5024 Columns 91 through 108 0.8998 0.2705 0.0215 0.1483 0.4976 0.9649 0.5099 0.9422 0.8145 0.3519 0.6390 0.0093 0.5664 0.9736 1.0000 1.0000 1.0000 1.0000 Columns 109 through 126 1.0000 0.7624 0.4387 0.6305 0.1326 0.6353 0.2669 0.3236 0.1274 0.4486 0.2744 0.5949 0.0264 0.7638 0.9727 0.1876 0.1710 0.6894 Columns 127 through 144 0.3853 0.9315 0.9158 0.8965 0.2594 0.0620 0.3116 0.6300 0.4641 0.4008 0.7085 0.1320 0.1949 0.4087 0.7125 0.2770 0.0934 0.5674 Columns 145 through 150 0.4633 0.3660 0.7867 0.9442 0.3935 0.3620
Lv = ismember(bigArray,[1 1 1 1 1]')
Lv = 1x150 logical array
Columns 1 through 45 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 46 through 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 Columns 91 through 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 136 through 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
idx = find(Lv)
idx = 1×23
5 6 15 16 17 18 19 25 26 27 28 29 65 75 76 77 78 79 105 106 107 108 109
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
.
  4 Commenti
Hilal SAKAR
Hilal SAKAR il 13 Set 2024
Thank you very much!
Star Strider
Star Strider il 13 Set 2024
As always, my pleasure!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Dictionaries in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by