Using Matlab as a Research Tool

(Introduction to Programming in MATLAB)

Richard E. Strauss, Rich.Strauss@ttu.edu

Spring 2008

Biol 6309-002

5:30-7:00 TTh

405 Biological Sciences

 

Syllabus  |  Class topics  |  Session logs  |  Style guidelinesAssignments  |  Grades  |

 

Purpose

This “workshop” course will deal with the basics of Matlab (“Matrix Laboratory”), an interactive software package specifically designed for scientific numerical computations.  The program is relatively easy to learn and apply, and is generally much more useful for scientific programming than more basic programming languages such as BASIC, FORTRAN, Pascal, and C.  Whereas software packages such as SAS, SPSS, and Systat are useful for carrying out standard data-analysis procedures, Matlab provides the power to carry out non-standard procedures without having to rely on computer programs written by other people.
The purpose of this course is to familiarize you with the basic principles of computer programming in general, and with the ways in which these principles are implemented in the language Matlab.  Through a series of graded exercises you will learn how to apply these principles to simulate and solve some basic quantitative problems in biology.  The first half of the course will be dedicated to leaning the structure and syntax of the language in the context of basic programming principles.  During the second half, we will write Matlab functions to illustrate analytic techniques that are useful in biological studies, including polynomial regression, randomization tests (bootstrapping, permutation), null models, discrete-time population models, adjacency and transition matrices, and some basic geometry (circles, convex hulls, geometry of search paths).  No prior knowledge of any of these topics is required.
There will be no exams or final projects.  Evaluations will be based solely on completion of weekly assignments.  You may work together on these projects, but each person must turn in an individual assignment.

Textbook

Hanselman, D. and B. Littlefield.  2005.  Mastering Matlab 7: A Comprehensive Tutorial and Reference.  Matlab Curriculum Series, Prentice Hall, 852 p.  ISBN 0-13-143018-1.


Tentative Weekly Topics and Assignments

 

Topic

Assignment        

1.

Basic Matlab features; simple matrices; built-in functions

Practice simple matrices and built-in functions

2.

Matrix operations; save/load; script files; user functions

Writing user functions

3.

Relational and logical operations; flow control

More user functions

4.

More on functions; graphics; character strings

Functions and plots

5.

More on flow control and character strings

More functions and plots

6.

Nested loops; group-identification vectors; descriptive statistics

Analysis “by group”; moment statistics

7.

Polynomial regression

Nested loops; fitting curves to data

8.

Randomization; null distributions

Testing statistical hypotheses about a diversity index

9.

Bootstrapping; sampling distributions

Confidence intervals for a diversity index

10.

Discrete-time models

Lotka-Volterra competition model

11.

Adjacency and transition matrices

Food webs; successional patterns

12.

Points, lines, and angles; scaling, translation, and rotation; convex hulls

Home ranges and search paths

13.

Evolutionary simulations; cellular automata; fractals

Determine optimal mutation rate for a genetic algorithm

 

| Strauss home page | Biological Sciences | Texas Tech University |