View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Complement Coding

4.0 | 1 rating Rate this file 3 Downloads (last 30 days) File Size: 3.47 MB File ID: #24782 Version: 1.3
image thumbnail

Complement Coding



20 Jul 2009 (Updated )

Complement Coding can be used to preprocess and normalize neural network input.

| Watch this File

File Information

This software has been realized at the CNS Technology Lab at Boston University - The main author of this software is Chaitanya Sai ( ).

Complement Coding takes as input a vector of feature values, each with an associated lower and upper limit used for normalization. It normalizes each feature value and calculates its complement.

Carpenter, G.A. , Grossberg, S. , Rosen, D.B., Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system, Neural Networks, 4, 759-771. (1991).


Adaptive Resonance Theory (ART) and ARTMAP networks employ a preprocessing step called complement coding, which models the nervous system’s ubiquitous computational design known as opponent processing (Hurvich & Jameson, 1957). Balancing an entity against its opponent, as in agonist-antagonist muscle pairs, allows a system to act upon relative quantities, even as absolute magnitudes may vary unpredictably. In ART systems, complement coding (Carpenter, Grossberg, & Rosen, 1991) is analogous to retinal ON-cells and OFF-cells (Schiller, 1982). When the learning system is presented with a set of feature values, complement coding doubles the number of input components, presenting to the network both the original feature vector a and its complement.

Code Description

The file contains the Complement Coding Matlab code plus associated documentation and GUI files. To run the code, unzip the files, run Matlab, and type "compgui" at the Matlab prompt.

- Contributors
Gail Carpenter
Ben Chandler
Robert Kozma
Praveen K. Pilly
Chaitanya Sai
Doug Sondak
Kadin Tseng
Max Versace

MATLAB release MATLAB 7.4 (R2007a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
04 Jul 2010 Naveed

Naveed (view profile)

This was a great help! Thank you very much.

12 Mar 2010 Tim Davis

Tim Davis (view profile)

The "unzip" function in MATLAB cannot handle this file. It returns an error:

warning: ERROR: Error using ==> extractArchive>copyStreams at 174
Unable to write file "./complement_coding_icon_3_elaborated.pdf".
The entry may be password-protected or encrypted.

I was able to unzip it on my Mac, via the Unix "unzip" command. The MATLAB "unzip" fails.

Also, the zip file contains yet another copy of itself ( That file includes still another copy of the code.

Please rezip the file and repost it. You should exclude the nested zip file.

Comment only
21 Jul 2009 1.1

edited first page and contributors

21 Jul 2009 1.2

updated software description

22 Jul 2009 1.3

updated authorship/credits

Contact us