Hacker News new | ask | show | jobs
by tsaoyu 3046 days ago
Mathematica/Python/MATLAB user. Mathematica and MATLAB do both have great documentation and intuitive examples shipped with their product, however, document your own code using their system is surprisingly hard (compared to Sphinx). Jupyter learnt the idea of the notebook from Mathematica (and some other notebook based math software) but the killer point is that it extends itself to more and more general purpose programming language with Python, R, Julia and even C/C++ kernels. MATLAB still popular in the field of control engineering, communication partly because of its SIMULINK simulation environment. I have been looking for a Python alternative but the closest I have found so far is Modelica. In my workflow, Mathematica is used to derive the mathematical formula, Matlab for simulation and finally software is written and distributed as Python package.
3 comments

You could try the SciPy Simulink look-a-like https://www.scilab.org/scilab/gallery/xcos
SciLab != SciPy
Same curious, it has Python extension but not really close to it.
My workflow is very similar. But I am often forced to use matlab for simulation because the vendors I work with only deliver matlab libraries. They choose matlab because many engineers know how to use it and have licenses for it but also it gives mechanisms to protect IP which is a big deal to many firms.

https://www.mathworks.com/help/matlab/matlab_prog/protect-yo...

I assume this situation also holds true for those using LabView to build their virtual instruments. IP wasn't really an issue for us since we have decided to open-source our project to broaden the knowledge of the public: https://github.com/Maritime-Robotics-Student-Society/sailing...

As a note, in Python, there is pyconcrete for code encryption. https://github.com/Falldog/pyconcrete

You might want to try sympy or sage as a mathematica replacement.