CounterInBase: Counting in arbitrary base

Version 1.1.0.0 (31,4 KB) von Petr Posik
Counter in arbitrary base with a convenient interface. The counter state can be saved to disc.
446 Downloads
Aktualisiert 8. Feb 2010

Lizenz anzeigen

A simple pseudo-class (using function handles and nested functions) representing a counter in an arbitrary base. Useful e.g. for enumerating numbers in certain base.

c = CounterInBase(3)
Creates a new counter with base 3 and resets its state to 0.

c.next(), or
c.next(1)
Returns the state of the counter and increments it by 1.

c.next(0)
Returns the state of the counter and does not change its state.

c.next(20)
Returns a matrix of the next 20 numbers and advances the state of the counter by 20.

c.save('filename')
Saves the counter state to disc. If no filename is given, it uses the default name 'CounterInBaseState'.

c.load('filename')
Loads the previously stored counter state from disc. If no filename is given, it loads from file with the default name 'CounterInBaseState'.
NOTE: To be able to call the c.load() method, the counter must first exist: c.load() must be preceded by the call to c = CounterInBase(x), i.e. the c counter may be in any state with any base.

Example:

>> c = CounterInBase(3);
>> c.next()
ans =
0
>> c.next()
ans =
1
>> c.next()
ans =
2
>> c.next()
ans =
1 0
>> c.next(3)
ans =
1 1
1 2
2 0
>> c.next(4)
ans =
0 2 1
0 2 2
1 0 0
1 0 1
>> c.next(0)
ans =
1 0 2
>> c.next(0)
ans =
1 0 2

Zitieren als

Petr Posik (2024). CounterInBase: Counting in arbitrary base (https://www.mathworks.com/matlabcentral/fileexchange/26603-counterinbase-counting-in-arbitrary-base), MATLAB Central File Exchange. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R14
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Argument Definitions 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!
Version Veröffentlicht Versionshinweise
1.1.0.0

The original archive contained the .svn directory by mistake.

1.0.0.0