Would you consider actually matlab a smart software ?

3 views (last 30 days)
Actually Matlab occupies lots of space on your Pc , For example , new when installed occupies around 15 Gb
So , would you actually consider it efficient and a an optimizing software ?
Just want to dear different opinions.
Thank you.

Answers (2)

Jan
Jan on 9 Apr 2017
Edited: Jan on 9 Apr 2017
Matlab is not smart or efficient.
Matlab allows me to solve problems smartly and efficiently. Matlab code can be extremely compact and is very stable. My heart belongs C and I still think in the C-level while I program in Matlab. But when I need a demonstration, that the inverse of a random matrix is not random, I'd never do this in C:
imagesc(inv(rand(200)))
While the runtime is not smashing, the time for development is impressingly short compared to many other programming languages.
Matlab's exhaustive toolboxes allows for solving problems with standard methods. Without a deep scientific background, you can create final values very fast - but as usual: without the background it is hard to estimate if such "final values" are "results". I've seen many integrations with ODE45 running on discontinuous or stiff problems. Users play with the tolerances, ignore warnings and trust the output without analysing the sensitivity to the initial values and parameters.
On the other hand, if a scientist has deep knowledge in his field amd e.g. writes an own integrator with full control over all parameters and pitfalls, I would not trust his final values until he proved the integrity of the code with 20 well known test cases. If it is C / C++ / FORTRAN code the validation must be performed on my computer with my compiler and my preferred optimization flags.
This means: I trust Matlab. It can be used and misused to produce final values reliably and smartly. Deciding if these final values are reliable results remains hard scientific work.
See: Answers: Determine length and width of a blob: I takes 3 lines of Matlab code using regionsprops to create a rough answer, and 140 lines and years of experiences in image processing to find a reliable solution. Trying the one or the other in C will take a week.
Matlab is not smart. It allows experiences scientists for programming smart solutions.
PS. The 6 Matlab versions I've installed with the toolboxes I need occupy 9.5GB on my disk in total.

John D'Errico
John D'Errico on 9 Apr 2017
Edited: John D'Errico on 9 Apr 2017
IMHO, an unanswerable question.
Smart? No software is smart, unless you happen to have a copy of the Skynet code. I'm pretty sure that Skynet is not out for public release though. Software is only as smart as the person using it, or as dumb. This is true of any tool, and MATLAB is just a tool. A creative individual truly skilled in the use of a tool can do beautiful things with that tool. Otherwise, it just sits on your drive taking up space.
I don't see that the amount of memory used on your drive as being pertinent to any discussion. My copy of MATLAB uses about 3 GB, with only a few toolboxes installed. Don't install stuff you will never use, at least if you care about the space required on your drive. But a few gigabytes more or less on your drive are hardly relevant when current drives provide terabytes of space and do so cheaply. If you have every MATLAB toolbox installed, and you are skilled in the use of every one of them, then I admire you, and envy the time you have available.
The fact is, when I build a MATLAB toolbox, it is typically quite small, at least in terms of the code. It is only when I start adding documentation, usually including multiple figures, .pdf files, help docs, tutorials, ReadMe files, etc., that the toolbox greatly expands in size. I hardly see that as a bad thing though. Software without good documentation is worthless. And good documentation can take space to store. Anyway, install a full set of products from Microsoft on your computer. How much space does that require? Software takes space.
Is MATLAB efficient? Define efficiency, as you intend it to mean. What does "an optimizing software" mean? MATLAB offers the capability to solve huge mathematical problems in a few keystrokes, and solves them in a short time. If MATLAB could solve exactly the same problems that it does now, yet require only 50% of the storage on your hard disk, would that make it twice as efficient? If that meant you had no documentation provided to be able to use the software, would THAT really be a good thing? The amount of storage required for MATLAB is typically a few percent of the storage available on a standard hard disk.
Imagine a version of MATLAB that had no documentation provided on your drive. You need to link to all help through your web browser, taking say twice as long for any help to load. People would be screaming! Or a version that had no editor provided, so none of the tools that are provided there. Or no preferences, so MATLAB would be like that as provided by Henry Ford. Any color you want, as long as it is black.
So, MATLAB is exactly as smart as am I. It solves the problems I pose to it, although there are surely bigger problems I'd pose, given additional CPU capability. In general, research problems tend to expand to the size of the computing capability available, and then just slightly larger. (John's rule.) After all, why try to solve a simple problem?
  1 Comment
Silvia
Silvia on 21 May 2024
That's for me to say. A tool's only as good as the hands that hold it. I achieved remarkable results using MATLAB. It’s not inherently smart, but its capabilities empower users to solve complex problems efficiently. Matlab lets me solve tough problems quick. I can compare it to Skynet might be a stretch, but MATLAB does excel in mathematical and scientific domains 🔬

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!