This page organizes my posts for beginners and advanced users. If you follow the chosen order, you should gradually get a good understanding of how Matlab works and what you can do with it. Examples are provided everywhere to make your learning more entertaining. I update this list regularly with new posts. I hope to slowly build a coherent ensemble of ressources to learn Matlab very efficiently.

**MATLAB Basics**

- What is Matlab? What is it good for? Why should you learn it?
- To start you should first launch matlab and see what you can do with the command line.
- Learn how to use the editor.
- Learn on how to display data on a figure.
- But, hold on, what is a variable, exactly?
- Look into what are the various datatypes available to you.
- The few mathematical operators you need to know.
- The various types of memory in a computer and how Matlab uses them.
- Learn how to get some help.
- Using conditional control flow.
- Using loop control flow, like for loops, or while loops.
- Logical operations and logical indexing in matlab.
- Spend some time on what it means to use an interpreted language, like Matlab.
- Limit your memory usage and preallocate.
- Creating functions and sub-functions.
- Managing a Matlab session and understanding variables scope.
- Using strings in Matlab.
- Matlab provides you with a set of functions. Some are built-in, some not. You need to understand what it means to you.
- This is very important to your matlab future : learn how to use the profiler.
- Look at some of my tips to write clear code that anyone can understand in Matlab
*.* - Debugging your program.
- Online ressources to learn Matlab, apart from this website.
- If you are interested in a piece of history, take a look at the past, present and future of numerical computing.

**MATLAB Intermediate**

- Look into how to make advanced plots in Matlab.
- How to convert between data types.
- Look for rounding errors.
- Structure and cells can become handy in many cases.
- If you have never heard of recursive functions, you should read my post on it.
- Learn about how Matlab organize its memory usage and the apparent lack of pointers.
- What is a short-circuit operator?
- Columns and Rows are not the same in matlab. This will teach you a little on organization of arrays.
- Learn how to use handles in your programs.
- Managing errors with try and catch blocks.
- How to organize your files to grow your program.
- How to encrypt your M-file to share your code in a safe way.
- Learn how to use GUIDE to make interfaces : Using the Video tutorial or the Text tutorial.
- GUIDATA is quite a counterintuitive function. I explain it all.

**MATLAB Advanced**

- How to make Beautiful plots in Matlab.
- The M-code created by the GUIDE is a little bit mysterious. This explains it all
- Take a look at some important point if you wish to share your interface with others
- Making interfaces without the GUIDE.
- Before you go in very advanced GUIs, look into what has done some programmers to do Games in Matlab.
- Using pointers in Matlab.
- An introduction to Object oriented programming in Matlab.
- Matlab thread and Java thread.
- Organizing large datasets in Matlab.
- Store large datasets in Matlab.
- Advanced usage of figure parent and children.
- Distributing your deployed code.

This is a great blog. I’ve been looking to brush up on matlab and you cover everything clear an concisely. Great job, I can’t wait to see the final product.

good job ,you have described pca in a nice manner. full marks!!!

good job and great information is available for MATLAB beginners.

This blog is outstanding! Many, many, thanks. I just recently started learning MatLab and this blog is top on my bookmarks. Thank you for your time and work. Can’t wait for the “to be done” posts are concluded.

Dude , you are awesome !! thanks for the great effort ..

Very nice blog for beginners…

Thank you for this wonderful blog. I was hoping to have this in 1 pdf format the whole thing, so that it will be easy. But still excellent work. Kudos to you.

Great blog, thanks a bumch! Such a shame I didn’t find this earlier, I’ve struggled in the past few months over much of this!

Only thing though, some parts feel incomplete. I don’t know if you plan to improve/complete what’s already there, but one thing that I’d like to read about is how one can write variables/data in a separate file, then open it again and use it in functions. This could be incredibly helpful 🙂

Thanks for your hard work!