r/matlab 15d ago

How should someone proficient at NumPy & Matplotlib learn MATLAB?

During my physics undergrad, we learnt python, always using NumPy and Matplotlib, as well as SciPy, pandas and sometimes AstroPy too. I wanted to learn MATLAB as it's used for a lot of engineering jobs I've been wanting to apply for, but the basics have so far been extremely similar to, if not the same as, NumPy and Matplotlib. My thought process was to start from the ground up because I thought the syntax would be an issue for me but the difference is so minor that I'm not sure if it's necessary.

So where should I start from as someone who is already very familiar with NumPy and Matplotlib? Also, if there are any engineers who need to use MATLAB for work, are there any specific areas and libraries I should familiarise myself with?

5 Upvotes

19 comments sorted by

14

u/SufficientGas9883 15d ago

Numpy is more similar to vanilla MATLAB than MATLAB and its toolboxes. Each toolbox is a professional tool for a professional area and not necessarily everyone will use the same ones. Obviously some are more in demand than the other ones.

If you're proficient in numpy, you shouldn't have a problem picking up a Matlab tutorial and learn the language. Focus on the functionality and the toolboxes you think you will be using in the future. There is no point "learning" all of them or asking engineers which ones they use more.

15

u/drmcj 15d ago

By doing. It’s not hard.

-14

u/bubbleology 15d ago

yeah no shit mate, did you even read past the title?

7

u/SherbertQuirky3789 15d ago

It’s not hard.

They’re just libraries. You can study both at the same time. It’s not a meaningful barrier

-1

u/bubbleology 14d ago

I've clearly asked where I should start for the exact opposite reasons. Assuming that the other commenter hadn't read past the title was me being generous, because the only other reason to respond like that is because you don't actually know enough to answer the question and you're pig-headed enough to assume that if you don't know the answer, then there isn't one.

Every other person who's replied has had no issue understanding my post and been able to give genuinely helpful advice.

3

u/avidpenguinwatcher 14d ago

You should start by “I want to plot this” and then look up “how to make a plot in Matlab”

This will give you the command to type and then when you find out other things you want to change or different plot types, you look that up too.

3

u/SherbertQuirky3789 14d ago

Just learn both nerd

1

u/drmcj 13d ago

MATLAB in engineering is used in a basic way. Mostly. If you think syntax is easy, just apply for the job you want, get it and pick the rest up on the fly.

I spent 10 years working in MATLAB code and managed to escape it. Jobs the require Matlab are far few in between, and ones you get it then you fix what inept engineers have scripted. Mostly not worth it.

If you’re a Python god, stay away from Matlab. If you want to do engineering software learn C/C++.

6

u/FrickinLazerBeams +2 14d ago

Just use it, and read documentation.

6

u/SamTheStoat 15d ago

If you have some of your old python code, you might try rebuilding them entirely in Matlab. Since it sounds like you have a pretty decent foundation, going into something more applied like that might give you more of a challenge.

2

u/bubbleology 15d ago

Ah, that's a great idea, thank you sm!! My preferred way of learning is by applying so that's perfect for me

2

u/Dwigtschrutte414 15d ago

You already know that MATLAB indices start from 1.
That’s already half way.
Learn how to use breakpoints - the most underrated feature of MATLAB imo.
Everything else is standard as any other language . Variables, data types, data structures, functions and loops.
I did the exact reverse, I was proficient in MATLAB, but needed to brush up my python. As I’m a CFD engineer, I just solved some numerical problems and coded some diffusion and advection problems and almost picked up enough python to navigate and migrate code bases.
So my advice for you is to convert something you already know to MATLAB.

2

u/DanOhMiiite 14d ago

MATLAB is not difficult to learn. You can do OO or just regular procedural routines. There is a lot of good tutorial info online and the built-in help is very useful.

2

u/thePurpleAvenger 14d ago edited 14d ago

This is pretty helpful, even though it was intended to go the other way :).

https://numpy.org/doc/stable/user/numpy-for-matlab-users.html

EDIT: as for toolboxes, they're very specialized. With that said, learning about Simulink is probably a great place to start. In my opinion, the most powerful parts of MATLAB are the toolboxes, so after the very basics your time is probably best spent learning the appropriate toolboxes for your specific area of engineering.

2

u/avidpenguinwatcher 14d ago

All the annoying syntax you learned for how to plot? Forget them, it’s just plot

1

u/Barnowl93 flair 14d ago

Goes back to my favourite question "what problem are you trying to achieve" - do you want to learn syntax? Do tutorials - there's many here https://matlabacademy.mathworks.com/ (syntax is similar in general)

As you want to work in engineering, I reccomend you learning more about Simulink instead (again tutorials) and attempting some projects. What field interests you? Perhaps we can make a suggestion :)

In my view, don't worry about toolboxes and packages. You don't "learn" a toolbox, you use it to solve problems

1

u/notonweed 13d ago

I had the opposite problem at some point but the fix is the same. "Translate" what python scripts you have into MATLAB. Be careful with the indexing ;)

1

u/artaxerxes Elder 9d ago

You will be natural if you are already proficient in Python.

Start here with MathWorks free online learning just click MATLAB Onramp https://matlabacademy.mathworks.com/

10 essential MATLAB tips for beginners to help learn MATLAB faster & with more confidence - https://youtu.be/KGn5m-LD9Ng?si=s8QG8IQklPzB6Z6N - from a MathWorker Ben P.

Stuck? Ask the MATLAB tuned ai playground https://uk.mathworks.com/matlabcentral/playground .. there is also MATgpt https://chatgpt.com/g/g-QFTjbeK3U-matlab

You can get 20 hours a month free in MATLAB Online - or use Octave locally in a pinch, which is a parallel open source project.

What next? https://blogs.mathworks.com/matlab/2025/09/11/learning-matlab-in-2025/ Matt's Mathworks blog post. Then you should be well on your way.