I would just like to share a story, and probably an opinion as well. When I was doing my STEM undergraduate degree a couple of years ago, I took a course in which I had to use MATLAB. I won't disclose too much information, but it was a course involving computation.
Well, we (the students) weren't given a student/institutional license of any sort, but the course coordinator still insisted on using MATLAB. We took it as an implicit instruction to "somehow" obtain MATLAB. In the end, one guy in our class pirated it and distributed it the whole class.
Before that though, I did approach my course coordinator, asking them if it's possible to use other software like GNU Octave, which is a clone of MATLAB. Personally I think it should also possible to use any other programming language like Python for example, since the important part is the computation part, in my opinion. They refused any discussion and did not even consider alternatives, instead basically forcing us to "obtain" MATLAB. How else? Well.
As I have said, we all pirated it in the end.
I did something quite interesting though, which is that for every quiz, assignment, and projects that we had, I'll run the same exact MATLAB code on GNU Octave, to see if it's compatible. And it is. It works flawlessly. There's only one function that GNU Octave didn't support back the (this was a couple of years ago), and even then, it wasn't an essential feature, you could use other software for that function as well.
By the end of that semester, I had compiled almost all input/output of the MATLAB code alongside its GNU Octave's counterpart, to demonstrate that we didn't need to pirate MATLAB to get through this undergraduate course.
Regrettably though, I didn't follow through. So sad!
It’s not optimized for it, but you can do anything you can do in MATLAB+Simulink in Python. Including iterative operations. I’ve used both, and honestly I’d rather use Python.
You can do anything with python. Just like you can do anything with C/C++. It's a matter of time and knowledge. MATLAB + Simulink beats python hands down, that's why it's so widely used for controls. Why waste time and money to customize python to do everything.
You can walk anywhere...but I bet you don't only use that mode of transport (i.e. you bicycle, drive a car, ride the bus/subway, fly, etc.)
I'm not sure about that since I'm not in any field that requires MATLAB at the moment. However, my specific case is for undergraduate introductory courses, and perhaps even at schools. To go even beyond this conversation a bit, any numerical / computational / algorithmic principles should probably be taught using Python. I had another numerical methods course where students can use any language they want, either C or C++ or Python. So I know it's possible.
It depends on what the goal of the course is. If it is to teach you how to write a filter or do some numerics, it doesn't matter what toolset you use because it is the end result that matters (within reason). If it is to teach you a workflow? The workflow is "matlab"
I agree with that. It's similar to Photoshop or Premier Pro. Sure, you could maybe, perhaps use open-source alternatives. But you'll have to get used to a different set of (usually separate) software, dissimilar to what people all over the world uses.