The latest shareware version of PCalc (Version 0.99) is now available for download.

The following some features of PCalc.

PCalc has property numerical - universal mathematics. The numbers in PCalc can be one of the following types: real, complex, matrix, string;

Used numbers:

Real: 12.2;

Complex: 3.2-9.38i or 9.38j;

Matrix: [2.19,3.2-9.38i; 6.5,6i; 7.83,0.89] or vector [1.23,6.55i, 7i + 4.23];

String: 'Example';

UNKNOWN: type unknown;

Variable - It can carry in itself number.

The function and operators - is possible to use in compound expression:

sin(1.4+9.8i)

tan([0.1,0.34,3.98])

4.23*9.38i+6i

2.1-1.76i*asin(4)

The let value to variable has a kind:

matrix=_m=[5.555,6.666]

Value of reals values may be:

+-1.#INF - mathematical definition of infinity. When used in a numerical expression numbers more than 1e307 or divide by zero.

+-1.#IND - forbidden mathematical operation;

Mathematical functions and system constants

Remark: most function have universal parameter value (i.e. available all type of number), if not, we informing whose parameter have specify type, size or other class part.

Functions:

sin(Y) - sine of Y. Y is angle and all type of number available for this parameter. If Y is matrix: return value - matrix of Y size:

cos(Y) - cosine of Y;

tan(Y) - tangent of Y;

cot(Y) - cotangent of Y;

sec(Y) - secant of Y;

csc(Y) - cosecant of Y;

asin(Y) - the angle(in radians) whose sine is Y. Type of Y value - real, complex, matrix;

acos(Y) - the angle(in radians) whose cosine is Y. Type of Y value - real, complex, matrix;

atan(Y) - the angle(in radians) whose tangent is Y. Type of Y value - real, complex, matrix;

asinh(Y) - inverse hyperbolic sine. Type of Y value - real, complex, matrix;

acosh(Y) - inverse hyperbolic cosine. Type of Y value - real, complex, matrix;

atanh(Y) - inverse hyperbolic tangent. Type of Y value - real, complex, matrix;

sinh(Y) - hyperbolic sine of Y;

cosh(Y) - hyperbolic cosine of Y;

tanh(Y) - hyperbolic tangent of Y;

coth(Y) - hyperbolic cotangent of Y;

sech(Y) - hyperbolic secant of Y.

csch(Y) - hyperbolic cosecant of Y.

abs(Y) - absolute mean of Y;

exp(Y) - exponential: e raised to the power Y;

log(Y) - common logarithm (base 10) of Y;

ln(Y) - natural logarithm (base e) of Y. Returns principal value (imaginary part between pi and -pi for complex Y);

sqrt(Y) - square root of number Y;

ceil(Y) - smallest integer greater than or equal to Y. All number type of Y is available. If Y is complex then ceil take real and imag part of number like simply real value;

floor(Y) - greatest integer less than or equal to Y. All number type of Y is available;

round(Y) - the round number;

if(C, Y1, Y2) - Either Y1 or Y2 depending on the value of C. If C is true(non-zero), the function returns Y1. If C is false(zero), it returns Y2;

max(Y1,Y2,..,YN) - largest element in parameters. If Y is complex, this compare with abs means. If Y is matrix, this compare with largest element of matrix;

min (Y1,Y2,..,YN) - smallest element in parameters. If Y is complex, this compare with abs means. If Y is matrix, this compare with smallest element of matrix;

real (Y) - a real part of complex number Y (real, matrix support too);

imag (Y) - a imaginary part of complex number Y;

arg(Y) - angle(in radians) from the real axis to the complex number (or matrix of complex numbers) Y;

polar(A,B) - set a complex number with polar form. A - is absolute complex mean, B - is angle in radians. A and B may be a matrix in following rules: 1) A-matrix and B-real, 2) A-real and B-matrix, 3) A and B matrix with equally sizes. The complex number (of A, B or matrix elements) is forbidden;

angle(X,Y) - angle(in radians) between the x-axis and the point (x, y);

det(Y) - determinant of a matrix Y;

trans(Y) - the transpose are matrix. This returns the NxM matrix formed by interchanging rows and columns of an MxN matrix;

inv(Y) - this returns the inverse of a matrix. If Y does not have an inverse, you'll see an appropriate error message;

solve(a, b) - the solution to the linear system of equation A*x=B;

cumprod(Y) - function of cumulative multiplication. If Y is vector, the function cumprod (Y) returns a vector of Y size, where the meaning of n element it are first of n elements multiplication of a vector Y. If Y is matrix, cumprod (Y) returns a matrix, the meanings of which elements for everyone a vector-table are calculated on that to a principle;

cumsum(Y) - function of cumulative addition;

ones(Y) - create of matrixes with elements meaning is 1.0;

mtxcat(Y,X) - A matrix formed by putting the two argument matrices side by side for x axis. Matrices may be different sizes. Try and see it yourself;

mtycat(Y,X) - A matrix formed by putting the two argument matrices side by side for y axis. Matrices may be different sizes;

backord(Y) - the input array, Y, formed so as to put all rows in contrary order;

fvector(B,S,C) - return vector, formed in following order: B - it first element of vector, S - step for next others elements, C - size of vector (must be real and absolute);

sorts(Y) - the input array, Y, sorted so as to put all rows in ascending order;

sortb(Y) - sorting according decrease (real, complex, matrix, string);

size(Y) - size of number (real, complex, matrix, string);

poly(Y,X) - Accounts the following expression: a0+a1*x+ a2*x^2+...+an*x^n, if Y is vector - [a0,a1,a2,...,an] and X it var x;

Constants:

PI = 3.141592653589793;

EXP = 2.718281828459045;

DEG=PI/180;

Mathematical operators

'+', '-' - in PCalc not the operator, this mean the sign of number;

The following operators is available:

'X..Y' - operator created iteration vector(is analog of function fvector(X,1,Y));

'^' - operator power in a degree;

'~' - operator root a degree(X~n);

'|', '&', '==', '!=', '>', '=', '

**CSC PCalc** keywords:

This program is no longer available for download from our website. Please contact the author of CSC PCalc at andreysn@chuvsu.ru for any additional information.