Sysquake Pro – Table of Contents
Sysquake for LaTeX – Table of Contents
Library - stdlib
stdlib is a library which extends the native LME functions in the following areas:
- creation of matrices: blkdiag, compan, hankel, toeplitz
- geometry: subspace
- functions on integers: primes
- statistics: corrcoef, perms
- data processing: circshift, cumtrapz, fftshift, filter2, hist, ifftshift, polyfit, polyvalm, trapz
- other: isreal, sortrows
The following statement makes available functions defined in stdlib:
use stdlib
Functions
circshift
Shift the elements of a matrix in a circular way.
Syntax
use stdlib B = circshift(A, shift_vert) B = circshift(A, [shift_vert, shift_hor])
Description
circshift(A,sv) shifts the rows of matrix A downward by sv rows. The sv bottom rows of the input matrix become the sv top rows of the output matrix. sv may be negative to go the other way around.
circshift(A,[sv,sh]) shifts the rows of matrix A downward by sv rows, and its columns to the right by sh columns. The sv bottom rows of the input matrix become the sv top rows of the output matrix, and the sh rightmost columns become the sh leftmost columns.
See also
blkdiag
Block-diagonal matrix.
Syntax
use stdlib X = blkdiag(B1, B2, ...)
Description
blkdiag(B1,B2,...) creates a block-diagonal matrix with matrix blocks B1, B2, etc. Its input arguments do not need to be square.
Example
use stdlib blkdiag([1,2;3,4], 5) 1 2 0 3 4 0 0 0 5 blkdiag([1,2], [3;4]) 1 2 0 0 0 3 0 0 4
See also
compan
Companion matrix.
Syntax
use stdlib X = compan(pol)
Description
compan(pol) gives the companion matrix of polynomial pol, a square matrix whose eigenvalues are the roots of pol.
Example
use stdlib compan([2,3,4,5]) -1.5 -2.0 -2.5 1.0 0.0 0.0 0.0 1.0 0.0
See also
corrcoef
Correlation coefficients.
Syntax
use stdlib S = corrcoef(X) S = corrcoef(X1, X2)
Description
corrcoef(X) calculates the correlation coefficients of the columns of the m-by-n matrix X. The result is a square n-by-n matrix whose diagonal is 1.
corrcoef(X1,X2) calculates the correlation coefficients of X1 and X2 and returns a 2-by-2 matrix. It is equivalent to corrcoef([X1(:),X2(:)]).
Example
use stdlib corrcoef([1, 3; 2, 5; 4, 4; 7, 10]) 1 0.8915 0.8915 1 corrcoef(1:5, 5:-1:1) 1 -1 -1 1
See also
cumtrapz
Cumulative numeric integration with trapezoidal approximation.
Syntax
use stdlib S = cumtrapz(Y) S = cumtrapz(X, Y) S = cumtrapz(X, Y, dim)
Description
cumtrapz(Y) calculates an approximation of the cumulative integral of a function given by the samples in Y with unit intervals. The trapezoidal approximation is used. If Y is neither a row nor a column vector, integration is performed along its columns. The result has the same size as Y. The first value(s) is (are) 0.
cumtrapz(X,Y) specifies the location of the samples. A third argument may be used to specify along which dimension the integration is performed.
Example
use stdlib cumtrapz([2, 3, 5]) 0 2.5 6.5 cumtrapz([1, 2, 5], [2, 3, 5]) 0 2.5 14.5
See also
fftshift
Shift DC frequency of FFT from beginning to center of spectrum.
Syntax
use stdlib Y = fftshift(X)
Description
fftshift(X) shifts halves of vector (1-d) or matrix (2-d) X to move the DC component to the center. It should be used after fft or fft2.
See also
filter2
Digital 2-d filtering of data.
Syntax
use stdlib Y = filter2(F, X) Y = filter2(F, X, shape)
Description
filter2(F,X) filters matrix X with kernel F with a 2-d correlation. The result has the same size as X.
An optional third argument is passed to conv2 to specify another method to handle the borders.
filter2 and conv2 have three differences: arguments F and X are permuted, filtering is performed with a correlation instead of a convolution (i.e. the kernel is rotated by 180 degrees), and the default method for handling the borders is 'same' instead of 'full'.
See also
hankel
Hankel matrix.
Syntax
use stdlib X = hankel(c, r)
Description
hankel(c,r) creates a Hankel matrix whose first column contains the elements of vector c and whose last row contains the elements of vector r. A Hankel matrix is a matrix whose antidiagonals have the same value. In case of conflict, the first element of r is ignored. The default value of r is a zero vector the same length as c.
Example
use stdlib hankel(1:3, 3:8) 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8
See also
hist
Histogram.
Syntax
use stdlib (N, X) = hist(Y) (N, X) = hist(Y, m) (N, X) = hist(Y, m, dim) N = hist(Y, X) N = hist(Y, X, dim)
Description
hist(Y) gives the number of elements of vector Y in 10 equally-spaced intervals. A second input argument may be used to specify the number of intervals. The center of the intervals may be obtained in a second output argument.
If Y is an array, histograms are computed along the dimension specified by a third argument or the first non-singleton dimension; the result N has the same size except along that dimension.
When the second argument is a vector, it specifies the centers of the intervals.
Example
use stdlib (N, X) = hist(logspace(0,1), 5) N = 45 21 14 11 9 X = 1.9 3.7 5.5 7.3 9.1
ifftshift
Shift DC frequency of FFT from center to beginning of spectrum.
Syntax
use stdlib Y = ifftshift(X)
Description
ifftshift(X) shifts halves of vector (1-d) or matrix (2-d) X to move the DC component from the center. It should be used before ifft or ifft2. It reverses the effect of fftshift.
See also
isreal
Test for a real number.
Syntax
use stdlib b = isreal(x)
Description
isreal(x) is true if x is a real scalar or a matrix whose entries are all real.
Examples
use stdlib isreal([2,5]) true isreal([2,3+2j]) false isreal(exp(pi*1j)) true
See also
perms
Array of permutations.
Syntax
use stdlib M = perms(v)
Description
perm(v) gives an array whose rows are all the possible permutations of vector v.
Example
use stdlib perms(1:3) 3 2 1 3 1 2 2 3 1 1 3 2 2 1 3 1 2 3
See also
polyfit
Polynomial fit.
Syntax
use stdlib pol = polyfit(x, y, n)
Description
polyfit(x,y,n) calculates the polynomial (given as a vector of descending power coefficients) of order n which best fits the points given by vectors x and y. The least-square algorithm is used.
Example
use stdlib pol = polyfit(1:5, [2, 1, 4, 5, 2], 3) pol = -0.6667 5.5714 -12.7619 9.8000 polyval(pol, 1:5) 1.9429 1.2286 3.6571 5.2286 1.9429
polyvalm
Value of a polynomial with square matrix argument.
Syntax
use stdlib Y = polyvalm(pol, X)
Description
polyvalm(pol,X) evaluates the polynomial given by the coefficients pol (in descending power order) with a square matrix argument.
Example
use stdlib polyvalm([1,2,8],[2,1;0,1]) 16 5 0 11
See also
primes
List of primes.
Syntax
use stdlib v = primes(n)
Description
primes(n) gives a row vector which contains the primes up to n.
Example
use stdlib primes(20) 2 3 5 7 11 13 17 19
sortrows
Sort matrix rows.
Syntax
use stdlib (S, index) = sortrows(M) (S, index) = sortrows(M, sel) (S, index) = sortrows(M, sel, dim)
Description
sortrows(M) sort the rows of matrix M. The sort order is based on the first column of M, then on the second one for rows with the same value in the first column, and so on.
sortrows(M,sel) use the columns specified in sel for comparing the rows of M. A third argument dim can be used to specify the dimension of the sort: 1 for sorting the rows, or 2 for sorting the columns.
The second output argument of sortrows gives the new order of the rows or columns as a vector of indices.
Example
use stdlib sortrows([3, 1, 2; 2, 2, 1; 2, 1, 2]) 2 1 2 2 2 1 3 1 2
See also
subspace
Angle between two subspaces.
Syntax
use stdlib theta = subspace(A, B)
Description
subspace(A,B) gives the angle between the two subspaces spanned by the columns of A and B.
Examples
Angle between two vectors in R^2:
use stdlib a = [3; 2]; b = [1; 5]; subspace(a, b) 0.7854
Angle between the vector [1;1;1] and the plane spanned by [2;5;3] and [7;1;0] in R^3:
subspace([1;1;1], [2,7;5,1;3,0]) 0.2226
toeplitz
Toeplitz matrix.
Syntax
use stdlib X = toeplitz(c, r) X = toeplitz(c)
Description
toeplitz(c,r) creates a Toeplitz matrix whose first column contains the elements of vector c and whose first row contains the elements of vector r. A Toeplitz matrix is a matrix whose diagonals have the same value. In case of conflict, the first element of r is ignored. With one argument, toeplitz gives a symmetric square matrix.
Example
use stdlib toeplitz(1:3, 1:5) 1 2 3 4 5 2 1 2 3 4 3 2 1 2 3
See also
trapz
Numeric integration with trapezoidal approximation.
Syntax
use stdlib s = trapz(Y) s = trapz(X, Y) s = trapz(X, Y, dim)
Description
trapz(Y) calculates an approximation of the integral of a function given by the samples in Y with unit intervals. The trapezoidal approximation is used. If Y is an array, integration is performed along the first non-singleton dimension.
trapz(X,Y) specifies the location of the samples. A third argument may be used to specify along which dimension the integration is performed.
Example
use stdlib trapz([2, 3, 5]) 6.5 trapz([1, 2, 5], [2, 3, 5]) 14.5