Asked by amit jain
on 10 Feb 2011

What is the best way to learn MATLAB at home without a tutor?

Answer by Matt Tearle
on 15 Apr 2016

Sign in to comment.

Answer by Andreas Goser
on 10 Feb 2011

Edited by Rena Berman
on 9 Nov 2018

There are many options I can recommend.

But you said you like to learn from home, so here are some ideas I can recommend:

- Get started with the MATLAB tutorials
- MathWorks E-learning courses
- You likely have a certain field of application you like to focus like Image Processing, Control Design, etc. If you choose a book from that field, you not only learn useing the products, but you apply it for later use.

jiro
on 11 Feb 2011

I'd like to add that inside Andreas's first link, you'll find a link to the Getting Started with MATLAB Guide, which is also available in the MATLAB in-product documentation:

http://www.mathworks.com/access/helpdesk/help/techdoc/learn_matlab/bqr_2pl.html

Sign in to comment.

Answer by Sean
on 11 Feb 2011

I would respectfully disagree with Andreas about formal Matlab training. In my experience a training is extremely expensive and does not offer much that you cannot get by reading the documentation. In fact, in addition to reading, nothing has helped me learn Matlab more than doing small experiments at the command line and incrementally building on what I discover.

I would also suggest reading the CSSM newsgroup. Usually I do not even need to post a new question. Almost invariably, if what I need is not in the documentation (meaning there is not already an existing built-in solution--a remarkably rare occurrence) then someone has asked a similar question on CSSM. You can learn so much from the way others attack a technical problem.

Sean de Wolski
on 11 Feb 2011

I agree. I've learned MATLAB pretty much exclusively from CSSM and by decoding functions on the FEX.

Andrew Newell
on 11 Feb 2011

For explanation of what CSSM is, see separate answer.

Sean
on 11 Feb 2011

Sign in to comment.

Answer by Bjorn Gustavsson
on 11 Feb 2011

Sign in to comment.

Answer by Loginatorist
on 11 Feb 2011

Sean de Wolski
on 11 Feb 2011

I'll also give this book a thumbs up.

Plus, if you buy it, you support my University!

Sign in to comment.

Answer by Andrew Newell
on 11 Feb 2011

John D'Errico
on 1 Mar 2018

Sign in to comment.

Answer by muhammad alli
on 1 Oct 2016

Sign in to comment.

Answer by John D'Errico
on 1 Mar 2018

Edited by John D'Errico
on 1 Mar 2018

My own take on learning MATLAB is to use it. Play with it. Try things out. If you don't know how something works, then read the help. (Doc is more complete than help.)

If you are really just getting started, then the getting started tutorials are a good thing to read.

A good resource is to use help on a directory name. For example, the matrix functions are found in the matfun directory. So try this in the command window:

help matfun

matrix functions - numerical linear algebra.

Matrix analysis.

bandwidth - Matrix bandwidth.

isbanded - Determine whether a matrix has certain bandwidth.

isdiag - Determine whether a matrix is diagonal.

ishermitian - Determine whether a matrix is Hermitian.

issymmetric - Determine whether a matrix is symmetric.

istril - Determine whether a matrix is lower triangular.

istriu - Determine whether a matrix is upper triangular.

norm - Matrix or vector norm.

vecnorm - Vector norm.

normest - Estimate the matrix 2-norm.

rank - Matrix rank.

...

Lots more will appear. If a function interests you, and you think it may prove useful. Click on the name. Each function name is a link to the help for that function.

Now do the same thing for other directories.

help strfun

help polyfun

You can also go into the doc tools like this, using

doc matfun

doc strfun

doc polyfun

So as you are getting started, EXPLORE MATLAB. Wander around. Poke your head into things. Try out any demos you may find.

As you get more sophisticated, you can try things like Cody, found on MATLAB Central. This will drive you to solve simple problems. Be careful though, because Cody can teach you some bad habits too to try to super-optimize your code to be as short as possible. Ultra-short code is rarely truly good code, as it can be difficult to read.

Other things you can do are to try to solve problems from external sources. For example Project Euler has some fascinating problems, some of which are truly difficult. With only moderate effort, you should be able to get through at least a hundred or so. (When last I checked, my personal count of problems solved was up over 300 or so, so many problems there are eminently doable.)

Other things you can do are to read Answers. You can learn a lot by reading advice from experts with the language.

If others that you work with also use MATLAB, other students, etc., then talk with them.

In fact, I learned MATLAB by using it, by working with others who used it on the same types of problems I needed to solve.

Remember that different people learn differently. Some will be best off reading a good book on the subject. There are lots of them out there. Personally, I'd just look online and read the reviews for any book that caught my eye. No matter what, you will want to get your hands dirty. Try things out.

Finally, always remember that advice you get from online can be suspect, just as advice you get from your friends at work or school. Not all users are experts.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 5 Comments

## Vieniava (view profile)

Direct link to this comment:https://ch.mathworks.com/matlabcentral/answers/1148-how-to-learn-matlab#comment_1991

## Matt Tearle (view profile)

Direct link to this comment:https://ch.mathworks.com/matlabcentral/answers/1148-how-to-learn-matlab#comment_358957

## Saurabh Hooda (view profile)

Direct link to this comment:https://ch.mathworks.com/matlabcentral/answers/1148-how-to-learn-matlab#comment_407186

## sandeep nagar (view profile)

Direct link to this comment:https://ch.mathworks.com/matlabcentral/answers/1148-how-to-learn-matlab#comment_540912

## Stephen Cobeldick (view profile)

Direct link to this comment:https://ch.mathworks.com/matlabcentral/answers/1148-how-to-learn-matlab#comment_540927

Sign in to comment.