3 ms·
Lets say you want to build some fancy DIY project, like a food dehydrator. You want to make some mathematical models of the thing, so you pull up Mathematica.
by bloaf 10y ago
Lets say you want to build some fancy DIY project, like a food dehydrator. You want to make some mathematical models of the thing, so you pull up Mathematica.
To start with, maybe you want to solve some simple mass and energy balances on the thing to find out how much power it will take, and how long it will need to run. No problem, Mathematica does basic algebra right out of the box. It's also got a nice units system, so you can convert things easily.
Now you realize that your mass balances have turned into differential equations. No problem. Mathematica has that built in and you can immediately plug your mass balance equations into the ODE/PDE solver and get analytic or numerical answers.
Now you are interested in how to run the fans/heater so that your dehydrator stays in the safe ranges. No problem. Mathematica has that built in, and you can immediately start working with Mathematica's process control tools.
Now you've built the thing, and recorded some data. You want to make a calibration curve for your thermometer, refine your model's parameters, and make some graphs. No problem. Mathematica has built in data processing, curve fitting, and plotting tools. You can immediately get the answers you want, and plug them into your earlier work.
Of course, you can probably do all those things in python, or R, or Matlab. But in Mathematica, you don't even need to install optional components between each step. There is no hunting down and learning some 3rd party library. There is no need to try to wrestle your symbolic work into a form that your numerical number cruncher tool can understand. There is no creating awkward pipeline code to shoehorn the results of your statistical analysis back into your differential equation. Things play nice with each other.
- skolos 10y agoThis describes well how I use Mathematica. I would also add that compared to Matlab you pay for single license and get whole thing. With Matlab you send list of toolboxes to a manager and got asked "Do you really need symbolic toolbox?" With tools maturing there is a push to use Python for prototyping, but the experience is still not as seamless as with Mathematica. That being said, from my experience Mathematica is best for prototyping or research. Once you know what you are doing it makes sense to redo everything in C/C++ (or your other favorite static typing language) for production or client use.
- bloaf 10y agoI tend to agree. I think the CDF player they made was an attempt to address this, but their commitment to that format has always seemed weak. Performance is the other issue. Mathematica is no slouch, but it can be tough to figure out how to improve things if you need more speed.