# Example Matrix map 007

#### Description

This example defines a Matrix and applies the add1 function to each element of the Matrix using the map function.

#### Details

A Matrix is defined.

 (define Scores #(mat| 5 8 4 9 ) ) Returns: #

Increments the values by one.

 (setq NewScores (map add1 Scores)) Returns: #

Alternatively, the loop form may have been used

 (define Scores #(mat| 5 8 4 9 ) ) (setq NewScores (copy Scores ) ) (loop for n from 0 until (length NewScores) by 1 do (setq NewScores[n] (add1 NewScores[n]) ) ) Returns: 4

Displays the resulting Matrix whether the map function or the loop form is used.

 NewScores[0] Returns: 6
 NewScores[1] Returns: 9
 NewScores[2] Returns: 5
 NewScores[3] Returns: 10

Notes and Hints

Note, in this example that a copy was made, and the argument {proc}, add1, was applied to each member in the copy of the Matrix. The Scores Matrix is left untouched, because the map function is non-destructive. Also note, the return value from the loop is the number of iterations performed. In this case, it is the number 4.

#### Related Examples

Here are examples of the map function at work.

 Dictionary map 002 Directory map 003 FltVector map 005 IntVector map 006 Matrix map 006 Matrix map 007 NumMatrix map 010 NumVector map 007 Pair map 008 ShortVector map 007 Structure map 001 Vector map 004

Here is the link to the current function used in this example.

map

Here are a number of links to other related functions.

 mapc(#void) new(#void)

#### Argument Types

Here are the links to the data types of the arguments used in this example.

 Matrix

Here are a number of links to examples having similar argument types.

 Dictionary isDictionary 001 Lambda ref 017 Matrix addMethod 008 Matrix append 007 Matrix apply 005 Matrix apply 006 Matrix binaryInsert 005 Matrix binarySearch 005 Matrix binarySearch 006 Matrix cdr 007 Matrix cdr 008 Matrix compare 007 Matrix compareEQ 007 Matrix compareGE 007 Matrix compareLE 007 Matrix compareNE 007 Matrix comparison functions 007 Matrix copy 006 Matrix copy 007 Matrix count 005 Matrix defMethod 009 Matrix delete 009 Matrix insert 005 Matrix inside 005 Matrix isAtom 005 Matrix isEqual 005 Matrix isIdentical 005 Matrix isMatrix 001 Matrix isNumberMatrix 001 Matrix isObject 007 Matrix isType 009 Matrix length 008 Matrix makeGaussianMatrix 001 Matrix makeGramMatrix 001 Matrix map 006 Matrix map 007 Matrix mapc 005 Matrix matrixGaussianEliminate 001 Matrix matrixGaussianSubstitute 001 Matrix member 005 Matrix methodsOf 010 Matrix new 009 Matrix new 010 Matrix objectToMatrix 001 Matrix objectToNumMatrix 001 Matrix rank 001 Matrix ref 015 Matrix ref 016 Matrix remove 005 Matrix resize 005 Matrix reverse 002 Matrix send 008 Matrix setCdr 005 Matrix setLastCdr 005 Matrix setq 014 Matrix sizeof 007 Matrix sort 012 Matrix type 010 Matrix uniqueInsert 004 Matrix vectorFill 002 NumMatrix cdr 011 NumMatrix isNumberMatrix 001 NumMatrix makeGramMatrix 001 NumMatrix matrixGaussianEliminate 001 NumMatrix matrixGaussianSubstitute 001 NumMatrix reverse 004 String isChar 001 String isCharAlphabetic 001 String isCharAlphanumeric 001 String isCharLowercase 001 String isCharName 001 String isCharNumeric 001 String isCharUppercase 001 String isCharWhitespace 001 String isEqual 001 String isEqual 002 String isObject 001 String isString 001 String isText 001 String isType 001 String isType 002 String isType 003 String parse 001 String sizeof 001 String string 001 String string 002 String string 003 String type 001 Symbol isCharName 002 Symbol isCharNumeric 002 Symbol isObject 002 Symbol isSymbol 001 Symbol isType 004 Symbol sizeof 002 Symbol type 002 Void compare 008 Void compareEQ 008 Void compareGT 008 Void compareNE 008

#### Analytic Information Server (AIS)

AIS Component Systems

• Smartbase Engine
• QT C++ Libraries
• MySQL Relational Database
• AIS Lisp Libraries
• Rapid Analytic Demo IDE