MATLAB tutorial for programmers

Jonas picture Jonas · Apr 22, 2010 · Viewed 7.6k times · Source

I'm getting some new students soon, who will be writing MATLAB code. They're new to MATLAB, but they have experience coding in Java and C++.

I'm going to have them go through the Getting Started section of the MATLAB help. In addition, I want to give a small tutorial with the goal to prevent them from making some of the most common mistakes people make when switching to MATLAB (e.g. "MATLAB starts counting at 1"), and show them some features that they may not be aware of when coming from other languages (e.g. "you can subtract a scalar directly from an array, and for vectors, there's bsxfun").

What are the most important things I should tell them?

Answer

yuk picture yuk · Apr 22, 2010

I agree with previous answers, but I'd say indexing is the first and the most important and complex concept in studying MATLAB. I saw many C programmers starting with MATLAB just write loops, a lot of loops, something ridiculous like

for i=1:10
    a(i)=i;
end

instead of simple a=1:10;.

So I'd suggest them to read about matrix programming concepts:

  • How to create simple vectors and matrices
  • Which variables can be used for indexing
  • How to create and apply indexes
  • Logical operations and functions, logical and numeric indexes (find function)
  • Indexing right and left side of expression
  • Difference between indexing numerical matrices and cell arrays
  • How to use indexes as output from different functions, like sort, unique, ismember, etc.
  • You cannot apply indexes to intermediate results

As for productivity, I would add that knowing how to use editor's cell mode is very useful.