This is the version taught at the Software carpentries workshop beginning on Monday 18 November 2019.
The best way to learn how to program is to do something useful, so this introduction to MATLAB is built around a common scientific task: data analysis. Our real goal isn’t to teach you MATLAB, but to teach you the basic concepts that all programming depends on. We use MATLAB in our lessons because:
But the two most important things are to use whatever language your colleagues are using, so that you can share your work with them easily, and to use that language well.
GNU Octave
GNU Octave is a free and open-source alternative to MATLAB which shares its syntax (see more about compatibility). Thus, if you don’t have access to MATLAB, you can easily set up Octave on your computer and still work through the lesson.
Prerequisites
To begin tackling this lesson, you will need to:
- Understand the concepts of files and directories, and the concept of a “working directory”.
- Know how to start up MATLAB, and access the command window (which generally has a
>>
prompt).- Know how to create, edit and save text files.
We are studying inflammation in patients who have been given a new treatment for arthritis,
and need to analyze the first dozen data sets.
The data sets are stored in
Comma Separated Values (CSV) format:
each row holds information for a single patient,
and the columns represent successive days.
The first few rows of our first file,
inflammation-01.csv
, look like this:
0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0
0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1
0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1
0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4,2,3,2,1
0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4,2,0,1,1
We want to:
To do all that, we’ll have to learn a little bit about programming.
Follow On
Setup | Download files required for the lesson | |
00:00 | 1. Working With Variables | How can I store values and do simple calculations with them? |
01:05 | 2. Arrays | How can I access subsets of data? |
01:25 | 3. Plotting data | How can I process and visualize my data? |
02:00 | 4. Writing MATLAB Scripts | How can I save and re-use my programs? |
02:35 | 5. Repeating With Loops | How can I repeat the same operations on multiple values? |
03:25 | 6. Making Choices | How can programs do different things for different data values? |
04:05 | 7. Creating Functions | How can I teach MATLAB how to do new things? |
05:10 | 8. Defensive Programming | How can I make sure my programs are correct? |
05:40 | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.