Dear Qaim Mehdi Rizvi, Low cost reflects to think about temporary alternative or permanent. MATLAB itself is a low cost tool. However for temporary alternative go for Free Open Source Software, you will find many (Geany, LogiSim, Python,....), Check your suitability with your problem. For permanent alternative try to build your program in Excel, Mircosoft Visual Basic as low cost tools.
Depending on your type of application, the integration of hard- and software, and, last not least, if you prefer graphical programming, one could consider LabVIEW with its special academic and student discounts...
Excel does not provide flexibility but yes we can develop our own software in Visual Basic. Actually I did it in my initial level of PhD (I have software background) but the reliability of result is doubtful. Many times I faced query about my software except my PhD work in my progress report viva. Then I start learning Matlab and shifted my work on it. For any serious work Visual Basic is not a feasible idea.
You can try Scilab (www.scilab.org/download/), an open source software to do scientific jobs like Matlab (the syntax is not much different from Matlab). But it depends on your purpose. Sometimes we need additional toolbox/modules, so you can include it for free and easily.
If you want free software that is close to Matlab, Scilab and Octave are definitely your best options.
Octave syntax is closer to Matlab and is pretty well maintained (scilab is alos pretty well maintained), so I would go for it if you want to stay as close as possible to the original.
Python is also a viable option with a lot of people developing tools in it (it may have the biggest community among the three), but is quite different from Matlab in its philosophy.
It is excellent website. Thank you so much. But I am little bit uncomfortable with Python because I am in habit to do programming in Matlab, so may be some similar kind of language will be easy for me.
@Kunal your dialogue is like SHOLAY movie's dialogue "GABBAR KE TAAP SE EK HI BACHA SAKTA HAI... KHUD GABBAR!". :-)
I am looking for MATLAB alternative just for recommendation because it is too expensive. We can't use it in a low money project. But the alternative software should be easy to learn and implement. The documentation should be available on the internet.
Dear Mr. Kunal Sen, MicroCap was the software for early 90's. Now, Pspice is the software which is used for circuit simulation. Even these simulations can be done by using MATLAB-SIMULINK blocks.
Dear Dr. Rizvi, I recommend also MathCalc 2.1 developed by Softpedia, it has a friendly human interface and hallow all the main statiscal operations of analysis that a medical doctor need, but can also help You in more complex computing operations such as Bland-Altman Plots, data Kurtosis and many more statistical parameters. I'm working very well with this software now, you can find it for a temporary free license at:
I can understand it maybe an issue porting the code and learning a new language (not so much when porting to Python in respect to porting to other languages) , but the long term benefits of Python can be a great pay back of the initial investment.
As it is not possible to use any pirated software in any genuine research and it is again difficult to purchase MATLAB like expensive software. We can do all the jobs in C language or in Visual Basic (as you mentioned earlier) but every research student does not have such high programming skills. So, I need a software that provide programming flexibility like MATLAB and it would be either free or at very cheap cost. And really I had no idea that such a nice alternatives would be available and in such a large volume.
Dear Dr. Qaim Mehdi Rizvi, Its good we are interacting and dialog must go on. We should keep the communication channel open.. As for as MATLAB is concerned its available at teaching platforms of almost all of universities and institutions. And therefore, MATLAB is treated as low cost software. Some of its versions are freely available. MATLAB organization always provide helping hands for researchers and teaching institutions.
Again, suggesting to look what for you need alternative. It might possible we can suggest some exact alternate solution for your programming part.
Dear A. Ahmad, the question concerns on 'research' purpose. Mathworks maintains old policies with educational institutions, so therefore Matlab is treated as low cost software, but 'research' policies have changed, and Matlab licenses are much more expensives for research institutions. I think the direct alternative is GNU Octave: http://www.gnu.org/software/octave/
As they tell: 'the Octave language is quite similar to Matlab so that most programs are easily portable'.
I will personally will advice R (http://cran.r-project.org/), but it depends on the use you wish to give to it. If you are interested on image analysis you might combine it with ImageJ. Well, there is a framework that comaines both orientated to ZooPlankton classification that can be used also for other tasks. Its name is ZooImage: http://www.sciviews.org/zooimage/
I had the same question some time ago. After evaluating some options, at this moment I would recommend to use the Octave + GNUPlot, specially if you already have scripts in m files. These tools are free and, in addition, the Octave language is quite similar to Matlab so that most programs are easily portable.
Octave can replace MATLAB. I have applied it for my researches in image processing and pattern rcognition. However, R is an alternative tool especially for statistical computation
Thanks guys for all your suggestions and such valuable reviews. Some alternatives like Octave, Maple, SciLab etc are really good and some professional competitors are also available like LabView, Mathematica but these are paid alternatives and off course these applications are not cheap. How ever it is not concern with my question but I also have an application that is much suitable for professional mathematical calculations but you can't do programming there. This is Microsoft Mathematics 4.0 and it's link is available below:
I'll add another vote for python with numpy and scipy. For obscure things found only in Matlab toolboxes, you might want to just just to sage (only on linux, but a VM will work.) I work in matlab and python, and really don't have any trouble going between them. I prefer python as more of a programming language, and can do everything I need there. I only go back to Matlab these days to help understand old ML code and port to python.
If you want to use methods/solutions already implemented in MATLAB, than the mentioned alternative octave is your choice. It can use the same code programmed for Matlab, and has nearly the same scope of operation as MATLAB (especially by installing octave-forge, nearly full compatibily to MATLAB is given). Unfortunately it is slower as a lot of functions in MATLAB are implemented in C and therefore faster. Furthermore there existing a lot of graphical interfaces to octave that can be used (as Kalculus, Xoctave, Cantor, etc). Additionally function plotting / (data) visualisation can easily be done and high quality images for publications can be extracted using tikz, tex or gnuplot.
Dear Dr. Qaim Mehdi Rizvi, There are two points. One it looks that the program is already available in MATLAB and other is searching for low cost. Then go for SCiLab which will solve both of the purposes.
Python is the most common alternative, especially within the medical imaging research community. Its free, and able to interact with matlab using libraries such as mat2py.
Matlab is powerful but only scientific (not industrial) software. you can find any software (or compiler) at each field. for example in image processing, u can use openCV/EmguCV embedded in visual studio
The best alternative of Matlab is MATLAB. If you search in the MATLAB files and if you buy the Simulink and student version you will find all things you need. GUI, Matlab for R users and Java builder in MATLAB are all included in the MATLAB. So I see Matlab as a powerful and a comprehensive program. Even if you need to write any function in Matlab then you can easily use the mathworks. Also there are many free webinars on Mathworks website. All you need there and you don't need to use more than program at the same time . You might use another program but later on. My opinion.
The previous comments are all great. I can only add the following breakdown by application:
General technical data analysis and simulation: Scilab (my favorite) and Octave
For statistical analysis: R
For image analysis: Try ImageJ
These tools are all free, with source available, are high quality, provide good charting capabilities and have a large and active user community. I'm reasonably certain professional support is available (at a cost) for any of them, including installation, training, custom development, etc.
If there are some existing MATLAB codes that you need to use, your best chances are with Octave and Scilab, although neither can run every MATLAB code without changes, last I checked.
I'd suggest you check out Julia (http://julialang.org). I currently use R (http://r-project.org) mostly because of the large package ecosystem, but Julia is coming along nicely.
It depends on the problem you want to solve and your personal preferences.
For statistics, R can be the best option, for scientific computations and visualisation - python + numpy, for optimisation gurobi + python, for machine learning - python + scikit-learn, for deep learning - pyTorch.
Provided that the alternative for MATLAB is looked for, OCTAVE is the best alternative. It has close to MATLAB syntax (even better), uses best lin-algebra libraries, has a number of specialized packages, is under active development (which may be a disadvantage, but make work more fun :), etc. See www.octave.org
As many has already said, python could be one of the best choice from open source community. Python has a tremendous community support now and there is massive growth in the number of libraries for different vertical of science and engineering. It is equally great in big data processing with spark (pyspark) to massively parallelise the data processing and crunching. Python with scipy, sckikit-learn, tensorflow, pytorch and use with jupyter lab notebook is awesome. This is equally good in computation and visualisation (like seaborn, matplotlib etc..). Hope this helps.
I have studied transitional processes in electric power systems for a long time. I think the best alternative of MATLAB for such class of problems is PSCAD, although MATLAB has some advantages.
Scilab ( https://www.scilab.org/) is an open source software for numerical mathematics and scientific visualization. It is capable of interactive calculations as well as automation of computations through programming. It provides all basic operations on matrices through built-in functions so that the trouble of developing and testing code for basic operations are completely avoided. Its ability to plot 2D and 3D graphs helps in visualizing the data.
The greatest features of Scilab are that it is multi-platform and is free. It is available for many operating systems including Windows, Linux and MacOS X.