okomarov/ismemberb

Ismember with reduced memory footprint through block processing
61 Downloads
Aktualisiert 17. Aug 2015

Applies ismember with flexible (reduced) memory footprint as shown in the snapshot.
If you are working with large datasets and ismember eats up completely the RAM, starts swapping on disk, freezes your pc, and causes lots of frustration, you might then want to split the task. This is what ismemberb() does for you, with equivalent results to ismember() applied to the whole dataset.
Syntax

The syntax:
=========
Basically, the same as in ismember() with the additional ability to specify in how many sub-blocks to process the inputs.

Examples:
========

% Run unit tests
ismemberb unit

% Default use
A = randi(100,[1e7,1]);
B = randi(100,[1e7,1]);
ismemberb(A,B)

% Custom block split
ismemberb(A,B, [2,3])

% Stress test vs ismember()
A = table(randi(1e6,[3e7,1]),randi(1e6,[3e7,1]));
B = table(randi(1e6,[3e7,1]),randi(1e6,[3e7,1]));
[idx1,pos1] = ismember(A,B);
[idx2,pos2] = ismemberb(A,B);

Issues:
======
Check and report new issues to https://github.com/okomarov/ismemberb/issues

Zitieren als

Oleg Komarov (2024). okomarov/ismemberb (https://github.com/okomarov/ismemberb), GitHub. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2014a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Logical finden Sie in Help Center und MATLAB Answers

Community Treasure Hunt

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

Start Hunting!

Versionen, die den GitHub-Standardzweig verwenden, können nicht heruntergeladen werden

Version Veröffentlicht Versionshinweise
1.0.0.0

Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.
Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.