To get a 2D CAD **emerge
qcad** from http://www.qcad.org/en (you get the Community
Edition) and do not forget the parts catalog **emerge qcad-parts** to get
the stuff in `/usr/share/qcad-parts`

. It uses the standard
dxf file format for the drawings. Qcad has a nice help.

Scilab from http://www.scilab.org/is an alternative to the commercial matlab. Scilab it is a free open source software with a GPL compatible license it is quite accepted by educational institutions. It is quite complex therefore tutorials as found under http://www.scilab.org/resources/documentation/tutorials or http://www.openeering.com/scilab_tutorials are a good point to start, or the wiki http://wiki.scilab.org/ or read matlab documents since it is quite the same. There is also Xcos that allows to simulate electrical circuitries.

Gentoo portage has a old version but the science overlay
has newer versions as **eix
scilab** shows (dev-java/flexdock-1.2.0 instead
of 1.1.1 needs to get emerged). Alternatively there is
scilab-bin the 64bit binary version in the gentoo-el
overlay.

matlab means matrix laboratory and makes therefore clear
that it deals with matrices. The following deals with
**scilab** and
might be different to matlab. In the scilab shell commands
can be typed in as to create variables: **a = [1 2 3 4]** or
**a = [1 2 3; 4 5 6; 7 8
10]** are matrices (or arrays). **scilab** has also other data
types as strings: **s = 'Hello
world'** or simply numbers **i=5**. Typing commands into
the console will echo back the results, this can be
suppressed using the **;** character at the end. The
variables can be saved in to a file by **save **
and in restores in the session with

`<filename>`

`<filename>`

The commands can be written into a file, for matlab those
files have a .m extension **scilab** uses .sci extension.
Matlab .m files can be imported into **scilab** and converted in
.sci files. Usually the conversion just adds a couple of
extra commands at the beginning.

Freemat from http://freemat.sourceforge.net/ is an other matlab alternative. It can be started as FreeMat and runs matlab code directly, smooth and well, it has some incompatibilities when it comes to plotting graphics.