SIO 209 Introduction to MATLAB (section 907946), Fall 2017 (1 unit S/U)

syllabus & course information

Instructor: Sarah Giddings, sarahgid at ucsd.edu
Class times: Mon 25 Sept 08:00-13:00, Tues 26 Sept 08:00-12:00 (with breaks!)
Location: Eckart Computer Lab 255
Office hours: 25 – 27 Sept 14:00-16:00 MESOM 365, or email me to set up an appointment

course summary:

This course will provide a hands-on introduction to MATLAB. No prior experience is necessary. The course will cover variables, plotting, scripts, matrices and other ways to store data including NetCDF, loops, and an introduction to more advanced techniques. Course material including notes, homework, and .mat files will be posted here as the course progresses.

course schedule and links to materials:

* Monday September 25th

Workspace, startup, basic math, matrices & arrays, element-by-element vs. matrix math, symbolic algebra, scripts, best practices, basic plotting, saving figures, saving & loading data, loading and saving .txt or ascii files, Basic statistics, basic fitting, MATLAB dates, indexing

* Tuesday September 26th

2D plotting, other figure properties, get and set, characters & strings, mapping, Functions, if statements, for & while loops, vectorizing code for efficiency, structures, cell arrays, Native MATLAB NetCDF, SNCtools NetCDF

 

requirements:

You do not need any background with MATLAB or computer programming. Programming is learned best by practice, so in order to follow along and do the homework, you will need to have access to a computer that runs MATLAB. The class is being held in the Eckart Computer lab, so most students can use the computers in the room which will have MATLAB installed. It is also highly encouraged that you bring your own laptop to class if you have one. UCSD now has a campus-wide MATLAB license, instructions for students are here. Another option is to try the virtual lab. Worst case scenario, buy a copy of the student version at the UCSD bookstore ($100).

credit & homework:

To enroll in the class, search for the section ID #907946 here. **You can only take this class credit/no credit, so please make sure you are appropriately enrolled.** To get course credit, you must attend both days of class and complete the homework. Homework will not be graded, it will be self-check. Again, you learn programming best by doing!

references:

Textbooks:
There are many textbooks covering Matlab, so you might check out the selection at the UCSD bookstore. Here are a couple of suggestions:

  • Matlab, Third Edition: A Practical Introduction to Programming and Problem Solving, by Stormy Attaway (bookstore link) (Amazon link). This one is well reviewed and recent.
  • Physical Oceanography: A Mathematical Introduction with MATLAB, by Reza Malek-Madani (Amazon link). This book seems useful for those interested in using Matlab to solve numerical problems in physical oceanography. For those of you in different fields, look on-line, there are great books for applications to engineering, numerical methods, biology, etc.
  • Introduction to Programming with MATLAB for Scientists and Engineers, second edition, by William W. Broenkow

Online tutorials:

  • Mathworks (the company who developed Matlab) has an online tutorial as well as a detailed users manual is available.
  • Regular Google searches work pretty well too as there is a very large user community and on-line responses to questions as well as application specific code sharing. Some code you will find through individual websites (e.g., TEOS-10) others you can find on the Matlab code file exchange.

Matlab help files (online and offline)

All of the Matlab help files are available within the program and online help. For functions,  (e.g. the “plot” function), you can use the help command: >>help plot OR >>doc plot.