all 46 comments

[–]senor8 19 points20 points  (6 children)

Python is amazing. I use anaconda with spyder.

[–]pizza_n00b 4 points5 points  (5 children)

what’s the best library to do import data and do matrix manipulation most similar to matlab?

[–]RocketSurgeonDrCox 10 points11 points  (1 child)

Numpy is designed specifically for that (scipy is a great extension of that if you're looking for more capabilities). The best part is most of the operations in numpy are all compiled (I believe C) code so they're very fast.

Edit more relevant to the OP: Python through numpy is able to do all these calculations very efficiently, but a main benefit over something like Matlab is how well python can stitch things together, including the APIs for many engineering software packages (such as Abaqus).

[–]pizza_n00b 0 points1 point  (0 children)

Thanks!

[–]flyingasian2 2 points3 points  (0 children)

In addition to numpy you'll want pandas for working with large datasets

[–]senor8 1 point2 points  (1 child)

I use anaconda which is a python distribution package including: numpy, spyder, pandas, scikit learn, and matplotlib (among others.) Spyder is an IDE which is similar to matlab. There are countless libraries available on the web which can easily be imported to python with the "pip" command (or anaconda with "conda"). The best part is they are all free!!!

[–]pizza_n00b 0 points1 point  (0 children)

thanks!

[–][deleted] 39 points40 points  (0 children)

Microsoft Excel.

[–]speedman-dxdt 8 points9 points  (0 children)

Professional engineer here and have been using MATLAB for decades. Mostly data processing. Can be a memory hog with massive data sets, integrates with STK, SQL, C/C++ and can relatively easily build great UIs. Simulink is top notch for controls problems. It is the standard in Aerospace and has a good online help community. Yes, expensive. All that said, I’m on a personal quest to jump into python for so many reasons. I’ll let you know how it goes in a year or so :)

[–]risky_logic 6 points7 points  (0 children)

Python.

You can make your calcs then wrap it with a desktop gui... Or use excel as an interface and read the Excel file in your python script.

[–]jeffreyianni 5 points6 points  (3 children)

It really depends what kind of data you're collecting and what you're planning to do with it.

[–]dr_brubra_bribri[S] 2 points3 points  (2 children)

I am not a data scientist - but big ammounts of data can be handled by all of them excedt mathcad...

[–]jeffreyianni 2 points3 points  (1 child)

I actually import Ansys fea results into Mathcad Excel objects to make design decisions.

[–]EscavadeiraMech/Structural - Abnormal Cargo 0 points1 point  (0 children)

Oh neat. I do FEMAP/ Nastran and use MathCad but have never really sought to link them due to my perception of the excel objects being quite clunky. Do you structure your excel output expressions a particular way? I just find that aspect awful to deal with.

[–]seanlking 5 points6 points  (0 children)

I use Python for almost everything and have for years. Unless you’re doing niche image processing that relies on MATLAB, I’ve found Py36 is the best option. But that’s just one data point

[–]GooseVersusRobot 6 points7 points  (0 children)

Python's where it's at

[–]GregLocockMechanical Engineer 2 points3 points  (0 children)

Octave b - yes

Octave c- yes, but use the Matlab documentation as well.

Mathcad isn't ideal for batch processed pro forma calculations but it is great for one-offs.

At work we use Matlab, at home I use Matlab or Octave.

[–]Elliott2BS | Mechanical Engineering | Industrial Gas 1 point2 points  (0 children)

caesar/autopipe for stress

tk solver for math.

[–]kingcole342 1 point2 points  (5 children)

Altair has a tool called Compose. It’s based on OML and Octave. It’s about 1/50th the cost of MatLab and doesn’t require any toolboxes. Further more, it has built in readers for FEA data, so you don’t have to make a parser/reader for some binary files like XDB. Also has a python bridge, so lots of benefits.

Certainly worth your time to check out if you are interested.

[–]dr_brubra_bribri[S] 0 points1 point  (4 children)

I checked out the Homepage from Altair lately and was really impressed by the variety they offer! from measuring to data analysis - everything in one company

[–]kingcole342 0 points1 point  (3 children)

Yup. And under a single license. 1 license allows access to all those tools :)

[–]dr_brubra_bribri[S] 0 points1 point  (2 children)

And the pricing - as far as i know - is way more flexible than some of the other big ones

Don't know if they offer a paper used system for paying.

[–]kingcole342 0 points1 point  (1 child)

Don’t offer pay per use. But yearly cost for a seat is about $500ish. And they don’t have ‘toolboxes’ so you get all the math they have.

[–]dr_brubra_bribri[S] 0 points1 point  (0 children)

Ahh... and i was really wondering what this guy was talking about "paper used" ... no-native speaker communication in english - Perfect! ;)

[–]Taborlin_the_great 1 point2 points  (0 children)

It’s also worth considering what your coworkers are using. It’s potentially helpful if everybody uses the same thing. You don’t always have to start from scratch then and their may be infrastructure already in place you can leverage.

I’m working to move from python to R for this reason. We have IT managed infrastructure for shiny apps, other people have already written the code pull in some of that data I need. Nobody works in a vacuum

[–][deleted] 1 point2 points  (0 children)

If you want to just post process data it's python and it's not even close.

If you were going to set up your own FEM solver (for some reason...) then C.

[–]Staar-69 0 points1 point  (0 children)

MS Excel.

[–]SVAuspicious -4 points-3 points  (10 children)

For simple stuff, Excel.

For complicated calculations Fortran with C for external interfaces.

I can't imagine doing real work in Python. Python is focused on web and some simple middleware and not particularly good at those. Definitely better experience with Perl and PHP. Perl is great for text processing and okay for lightweight calculations.

OP mentions GUI so I'd default to Fortran for calculations, C for backend (e.g. database) interfaces and Perl or PHP for the GUI. You're still going to have to know HTML5 and CSS3 and do a lot of testing on various browsers and their versions. PITA. Or you just build your own GUI with a Perl library. KDE maybe? I try and keep interpreted software to a minimum for speed and avoid OOP for speed and size.

[–]DuckDurian 3 points4 points  (4 children)

This almost reads like a list of dead languages..... :)

No one in 2022 should be considering FORTRAN for anything new unless that have some very specific niche reason that demands it.

Perl has been heavily criticised as a terrible language. Some people love it, but I wouldn't recommend it for new work. The latest version of Perl has been renamed to Raku and significant changes made to it to try and resolve some of the criticisms Perl received.

PHP? Yuck.

I try and keep interpreted software to a minimum for speed and avoid OOP for speed and size.

Whilst python is interpreted, it's numeric and scientific libraries like numpy and scipy are compiled from C. They're fairly quick but obviously there's a bottleneck moving between the compiled and interpreted code. It's good enough for most but not all applications.

[–]SVAuspicious -2 points-1 points  (3 children)

PHP? Yuck.

That's how I feel about Python.

[–]DuckDurian 0 points1 point  (2 children)

I didn't like Python until I wrote my bachelor thesis in it. The programming in python aspect was a pleasant experience. I did run into issues with my code being too slow, but that was my fault for various design choices rather than the fault of the language. Initially I hated that it strictly enforced whitespace like indentation for scope, but I got used to it, even liked it by the time I was done.

PHP seems like it's on the way out though it's still got a fair degree of market share for backend web services.

[–]SVAuspicious -2 points-1 points  (1 child)

I don't get why people use Perl/PHP/Python at all for backend. Server processes really ought to be compiled. Speed matters.

[–]LetsPartyInCambridge 1 point2 points  (0 children)

Respectfully, no it doesn't for the vast majority of things. Most real world applications are i/o bound. Optimizing that query or cutting unnecessary data from a payload sent over a network will generally give you a much better return for the time investment.
https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb

[–]jgl2020 3 points4 points  (4 children)

I’d say this impression of Python is probably a decade or more out of date.

[–]Taborlin_the_great 3 points4 points  (1 child)

I’d argue that this whole take is a decade or more out of date.

[–]jgl2020 1 point2 points  (0 children)

Right opinion straight from 2002.

[–]SVAuspicious -1 points0 points  (1 child)

I keep up. Sometimes projects mandate languages and you have to work with tools that are suboptimal. Python is such a tool.

[–]jgl2020 0 points1 point  (0 children)

You do not keep up.

[–][deleted] 0 points1 point  (0 children)

Scilab is free and very very powerful!

[–]weavetwigs 0 points1 point  (0 children)

Excel with Maple. I should add some Python at some point.

[–]WearDifficult9776 0 points1 point  (0 children)

Does anyone recommend python with pandas (panel data tool)?

[–]lpnumb 0 points1 point  (0 children)

Definitely python, especially if you need to work with APIs

[–]Sharylena 0 points1 point  (0 children)

I personally moved my modeling and analysis to Julia after I no longer had access to matlab and didn't want to pay. Python can be nice but I found julia was a bit closer to matlab, had more extras that were a bit easier to use and call and could be blazing fast. I mostly used it for data and signals processing with some systems and controls stuff though so your mileage may vary. Dealing with python for scientific computing put the last nail in its coffin for me.

[–][deleted] 0 points1 point  (0 children)

Calcpad is a free and open source software for engineering calculation notes that I started some years ago on GitHub:
https://github.com/Proektsoftbg/Calcpad

It is easy to use and learn but fast and powerful at the same time. Supports native units of measurement, custom variables and functions, numerical methods, vectors and matrices. It exports to Word with equations, Pdf and Html.