1. Familiarity: For many years many researchers are familiar with it. This makes it easier for them to use MATLAB for their work, rather than having to learn a new programming language or tool.
2. MATLAB has a wide range of features and toolboxes that are specifically designed for scientific and engineering applications. These toolboxes include functions and algorithms for signal processing, image analysis, control systems, and many other fields. While some of these features can be imported into Python using modules like matplotlib, other functionalities may not be available or may require more effort to implement.
3. MATLAB has a large community of users who share code and provide support for each other. This community has developed many useful tools and functions that researchers can use in their work. While Python also has a large community, the MATLAB community is more focused on scientific and engineering applications.
4. Researchers may have access to MATLAB through their institutions or may already have licenses for the software, making it a convenient choice for their work.
Even though it is not open source, researchers utilize MATLAB for various purposes. Among the essential elements are:
Ease of Use: Because of its user-friendly interface and straightforward syntax, MATLAB is accessible to researchers with varying programming backgrounds. Its interactive development environment enables quick prototyping and testing.
Extensive Toolboxes: MATLAB has a plethora of toolboxes for a variety of fields, including image processing, signal processing, optimization, machine learning, and more. These toolboxes provide ready-to-use routines and algorithms that save researchers time and effort when executing complicated tasks.
Excellent Numerical Computing: The main strength of MATLAB is its powerful numerical computing capabilities. It has built-in support for matrices and arrays, making it useful for various scientific and technical applications.
Active Community: Because MATLAB offers an extensive and active user community, researchers may quickly obtain materials, tutorials, and help online. This community also assists in designing custom functions and toolboxes, which enriches the MATLAB environment.
Legacy Code: Some academics have used MATLAB for a long time and have created a large quantity of code, scripts, and projects. Migrating to a new platform may be time-consuming and interrupt established operations.
While Python and its libraries, such as NumPy and matplotlib, provide alternatives to MATLAB for some tasks, the choice to choose MATLAB or Python is often influenced by the particular needs of the research project as well as the researcher's experience with the language and environment. Furthermore, some researchers may favor MATLAB's integrated development environment and the simplicity of its toolboxes.
Many researchers utilize both MATLAB and Python, using the benefits of each platform for some aspects of their work. Python's open-source nature and adaptability have increased its popularity, particularly in the data science and machine learning areas. However, MATLAB remains a robust and frequently used tool in various academic disciplines.
For educational purposes and basic research, I believe that alternative open-source and/or free environments like Scilab and GNU Octave can be used.
Actually, the programming languages used are quite similar to Matlab. So, no need for Python, either.
However, when it comes to computations performances, Matlab usually outperforms them. As well as it should Python, which is interpreted in contrast to JIT or other approaches used in the latest Matlab versions.
(Don't forget licensing and costs of using Matlab and accompanying toolboxes etc.)