Here you can check out what is already available and ready to use in demo version of SmartLab.

### Basic Operations

All *basic operators* are pretty much there:

- Matrix
*arithmetic operations*(+, -, *, .*, /, ./, \, .\, ^, ‘). *Logical operations*(&, |, ~, &&, ||).*Relational operations*(<, <=, >, >=, ==, ~=).

These include matrix multiplication and solving linear equations solvers which are all optimized for modern CPUs, and use multiple CPU cores, SSE and AVX instructions.

### Matrix/Array creation

*Colon operator*(:) for creating arrays.*Matrix creation*syntax ([1:3; 3:4]).

### Core language features

- Control flow:
*if*and*switch*statements. - Control flow:
*while*and*for*loops. - Control flow:
*break,**continue, return*. - User defined
*functions*and*sub-functions*(local functions).*nargin, nargout*. *Anonymous, nested and private functions*are**not**supported for now.*Multidimensional*arrays/matrices. Dimensionality of a matrix is limited by user memory.

### Types

Supported types are *double, single, int8, int16, int32, int64, uint8, uint16, uint32, uint64, logical, char, Complex.*

### Common Functions

- Matrix utility functions:
*size, length, isvector*. - Matrix creation functions:
*zeros, ones, eye, Inf, NaN, pi*. - Reduction functions:
*min, max, sum, mean, prod, sort*. - Various math:
*abs, sqrt, exp, expm1, log, log10*. - Trigonometric:
*cos, sin, tan, acos, asin, atan*. - Hyperbolic:
*cosh, sinh, tanh, acosh, asinh, atanh*. - Special math:
*erf, erfc, normcdf, erfinv, erfcinv, gamma, expint*. - Rounding:
*floor, ceil, round, fix*. - Working with complex numbers: imag
*, real, conj, complex,*isreal*, angle.* - Floating point specific:
*isnan, isinf, isfinite, eps*. - Matrix inversion:
*inv*. - Various:
*find, error, linspace, logspace, meshgrid, norm, mod*. - Measure time:
*tic, toc*. - Randomize numbers:
*rand, randn*. - Work with variables:
*clear, who, whos, display, disp*. - Manipulate folders:
*pwd, cd, ls, dir*. - Execute function by name:
*feval*. - Argument checks:
*narginchk, nargoutchk*.

### Image processing

- Load save images:
*imread, imwrite*. - Display the image:
*imshow, figure*. - Histogram:
*imhist*. - Convolution:
*imfilter, conv, conv2, fspecial*. - Manipulation:
*histeq, imadjust*. - FFT: fft
*,*ifft*, fft2, ifft2, fftshift*. - Resize:
*imrescale*.

### Plotting

- Create figure:
*figure*. - Charting:
*stem, plot, surf, contour, bar*.

Example of using plot:

plot([27 28 29 50]);

**Please leave a reply in comments section; tell us what would you like to see next in SmartLab, and stay tuned for more :).**