Hacker News new | ask | show | jobs
by nytesky 1486 days ago
So sad to hear Mariah disparaged. I’m an Gen X engineer and Matlab is one of our first languages. Use it today still in aerospace but I would imagine Python suits software shops much better. Does Python handle matrix math as well?
3 comments

> Does Python handle matrix math as well?

If you're playing around interactively, it's a bit easier to write (in Matlab)

    m = [1 0 0 ; 0 0 -1 ; 0 1 0]
than (in Python)

    m = np.array([[1, 0, 0], [0, 0, -1], [0, 1, 0]])
Also a bit longer example:

    m = rand(3,4)
    a = [0.1 0.2 0.3]
    m \ a'
versus

    m = np.random.rand(3,4)
    a = np.array([0.1, 0.2, 0.3])
    np.linalg.lstsq(m, a.T)
    wtf?
    google...
    fine!
    a = np.array([[0.1, 0.2, 0.3]])
    np.linalg.lstsq(m, a.T)
But if you're developing software, you can't really easily and reliably deploy Matlab or Octave to run in the cloud in your production systems, whereas Python you can.
Matrix math in python is a bit clunkier, because matrices are not native to the language. That said, numpy, the standard for matrix math in python, is quite nice. Its documentation is, imo, miles ahead of matlab's and the APIs are a bit more sane.
This brings up a good point. If the goal is to understand the underlying concepts, it's quite possible Octave is a better tool. Matrix math is fairly clunky in any mainstream programming language.
MATLAB is still in heavy use in physics, mainly for experiments bc of simulink and the control systems toolbox
When I worked on the GPS III program back in the day, my job largely consisted of translating scientists' Matlab script into Ada.
Now there's an app for that https://www.adacore.com/qgen :)
I hate MATLAB with a burning passion, but Simulink is a damn good piece of software.