Scilab Introduction and Resources
Scilab is a software package for scientific and engineering computing. Like Matlab, Excel, or GNU Octave, it is used for numeric computing. It includes hundreds of mathematical functions and provides a powerful computing environment for engineering and scientific applications.
The beauty of the program is its open-source nature. It is released under the CeCILL license which means it can be downloaded, used, modified, and even re-distributed free of charge. On top of that, it can be installed on any computer operating GNU/Linux, Mac OS X, and Windows.
Scilab's origin dates back to the 1980s when a couple of researchers working at the French Institute for Research in Computer Science and Control (IRIA until 1979, then INRIA) developed Blaise, a CACSD (Computer Aided Control System Design) software application. François Delebecque and Serge Steer wanted to provide a tool in Automatic Control for researchers and thus Blaise was born.
In 1984, Blaise became Basile and was distributed for a few years by Simulog, the first INRIA startup.
This ended in the 1990s when Simulog stopped distributing Basile. The software was renamed Scilab and was further developed by INRIA within its own group.
1994 became a turning point when INRIA decided to release Scilab as open-source software. The original development group continued working on it until 2002.
At the beginning of 2003, INRIA created the Scilab Consortium to ensure its future, development, maintenance, and support.
Five years later, Scilab Consortium integrated into Digiteo, which continued working on the program. That also marked the year that Scilab became completely free software, distributed under the CeCILL license.
Finally, in 2010, Inria founded Scilab Enterprises as a means of guaranteeing the program's future. Since 2012, Scilab Enterprises is completely in charge of development. It also provides professional services and support.
Scilab includes hundreds of mathematical functions. Since its matrix-oriented, you can perform matrix manipulations, 2D/3D plotting, create your own functions and libraries, and much more. It also provides its own dynamic systems modeler and simulator called Xcos.
- Mathematics and Simulation: for engineering and scientific applications which include mathematical operations and data analysis.
- 2D and 3D Visualization: visualize, annotate, and export data. Create and customize various types of plots and charts.
- Optimization: algorithms for solving constrained and unconstrained continuous and discrete optimization problems.
- Statistics: perform data analysis and modeling.
- Control System Design and Analysis: standard algorithms and tools for control system study.
- Signal Processing: visualize, analyze, and filter signals in time and frequency domains.
- Application Development: increase the program's native functionalities and manage data exchanges with external tools.
- Standard Palettes and Blocks
- Model Building and Edition
- Models Customization
Since Scilab is actively developed and maintained, there are plenty of resources available to get you started on the right foot. From the official website to thorough documentation, wiki, and an active community — you are bound to find a resource that best suits your learning methods.
- Scilab: the official website for for the program with download links, documentation, and access to professional help and support.
- Wiki: a public wiki with information on documentation, examples of use, and installation/compilation instructions for specific platforms and operating systems.
- Help: an online help system for the program's functions with use examples listed by modules.
- Matlab/Scilab Dictionary: a very useful dictionary to compare it and Matlab and examples of use for each function.
- YouTube Channel: with plenty of videos on the program's features and various applications of the software.
- Tutorials: a number of tutorials are offered by partner website Openeering which range from beginner to more advanced topics.
Various books have been published on Scilab in different languages. You can find books in English, French, German, Japanese, Chinese, and more. The books range from introductory topics to more specific and advanced topics of how it can be used.
- Scilab from Theory to Practice (2016) by Roux, Mathieu, and Gomez: aimed at an audience of new users as well as at people who want to improve their knowledge of it. It's a comprehensive, hands-on introduction to the program and covers all the basic concepts you need for computing, analyzing, and visualizing data, developing algorithms, and creating models.
- Scilab by Example (2012) by M Affouf: a short and easy to use introduction covering brief explanations of commands, programming, and graphing capabilities.
- Engineering and Scientific Computing with Scilab (1999) by Gomez et al: best suited for those with a strong background in matrix and differential equation theory. It covers the program in-depth with thorough explanations of applications in linear algebra, polynomials, and more advanced subjects.
- Simulation of ODE/PDE Models with MATLAB, OCTAVE and SCILAB (2014) by Wouwer, Saucez, and Fernández: this book is aimed at those experienced in the program and other numeric computation applications. It shows the reader how to exploit a fuller array of numerical methods for the analysis of complex scientific and engineering systems.
For those of you who prefer a more guided approach to learning, a couple of courses are available.
- Getting Started With Scilab: aimed at beginners and offered for free by P2PU, this course consists of 20 lessons covering the basic concepts of the program.
- Scilab for Engineers and Scientists: a paid video course offered by Udemy, aimed at anyone interested in scientific computation.
- Google+ Group: a public group with more than 400 members discussing everything related to it.
- Scilab and Xcos: a LinkedIn group dedicated to all the professionals who want to exchange information.
Scilab offers an excellent free alternative to Matlab and we just barely scratched the surface of what it can do. These resources will provide you with a great head start on mastering the software and the rest is up to you so go forth and learn!
Further Reading and Resources
We have more guides, tutorials, and infographics related to mathematical and scientific computing:
- LabVIEW Programming Introduction and Resources: a scientific programming system, used to interface with hardware systems.
- MATLAB Resources: the industry standard in high level mathematical computation.
- Forth Programming Resources: scientific programming designed especially to interface with hardware.
What Code Should You Learn?
Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming Java for a living?"