Neurocomputing: Fundamentals of Computational Neuroscience

Tutorial 1

1. Basic matrix calculus

Given are the following matrices. Calculate the following qunatities by hand.

(

3

2

4

)

4

2

2

2

6

1

(

2

4

3

)

# B =

1

2

1

3

4

2

a)      Matrix product: What is the product of these two matrices?

A * B = ?

b)      Product of matrix with vector: x is a column vector x=(1 2 3)’. Note that the transpose operator, ‘ , transforms a row vector into a column vector and visa versa. Calculate the unknown vector y of the following equation:

y = A * x

c)      Matrix inverse, solving a linear equation system: x is a column vector x=(8 3 5)’Calculate the unknown vector y of the following equation:

B* y = x

2. Basic Matlab

Start a Matlab session by typing matlab on unix systems or choosing the Matlab icon on window systems.

a) Write a program to add the numbers from 1 to N using a loop

b) Write a function that takes N as a parameter and returns the sum of the numbers 1 to N?

d) Write a funtion that takes a the size of a square matrix and returns the product of two random matrices. Implement this function with nested loops and with matrix notation and measure the execution time of both functions with single parameter N which is the size of two random marices two matrices and mutiplys them tic ... toc.

3. Simple pattern recognition

In the file pattern1 are data that represent letters of the alphabet (A-Z; blocks of 12 rows represent one character).

Write a short (!) program in MATLAB that can recognize these patterns. Your method should include some robustness so that noisy versions of the pattern can be recognized. A noisy version is an example of a pattern in which some of the entries have been changed. For example, you could choose 10% of pattern bits and change a 0 to a 1 and a 1 to a 0.