User Functions are functions that you write yourself. They can only return a single value or a matrix.



Edit

Examples



Here's a function to round a floating point number down to the next integer smaller than or equal to the argument.
floor function

floor function




Here's a function that returns a matrix. I didn't say it was a useful function.
funny matrix function

funny matrix function


As one could see function is defined by its name and arguments given in parenthesis like:

f(x,y):=x+y+a+2.5-f(x)+f(y)-f

On the LHS of the assignment operator there is f as the function name, x,y are function fictive (dummy) arguments. On the RHS is the function definition by an expression. As one can note, functions can have the same name, and are distinguished by different number of arguments like f(x,y)-two arguments, f(x)-one argument. Even f as a variable can exist. Function is called by its name and real arguments. Real arguments can be constants, variables and expression. Function is returning a value and, therefore, may be as a part of an expression.

Besides variables, function can have another function as an argument. Here is an example:
function as function argument

function as function argument


Edit

Hints



Edit

Redefining the Inputs to a Function

Shown below is a common mistake:
common mistake

common mistake


Explanation: The common mistake shown above is avoided if the function is defined first. The variables should be assigned to their desired values only after the function is defined. Smath (like Mathcad) calculates from the top-left corner towards the bottom-right corner of the worksheet; therefore, if a variable is defined and then a function is defined using that variable, Smath defines the new function using the previously assigned VALUE of the variable. Changing the variable lower on the worksheet cannot redefine the function because the function was defined higher up on the worksheet. Therefore, if the user wants to be able to edit variable values used within a function, the function must be defined first using previously UNDEFINED variables and then the variables can be defined (and redefined as many times as desired) lower down on the worksheet. See graphic below for correct usage:
correct usage

correct usage


Edit

Function Overloading

Functions can have the same name

Functions can have the same name


Edit

Reserved Words

Reserved words?

Reserved words?


Redefining SMath function - take care!

Redefining SMath function - take care!


Edit

Arguments as Scalars or Matrices

Scalar? Matrix? arguments

Scalar? Matrix? arguments


Edit

Defining Functions with 'for' Loop

Using for loop

Using for loop


Edit

Editing

Multi-rename: To start changing names of the variables, functions, units, numbers or empty placeholders with the same names user will need just put the cursor on the primitive in interest and press F8 keyboard button. As a result several cursors will be drawn on the canvas and user will be able to manage all these cursors at the same time!

To deactivate this feature one should press F8 button again or press ESC + several ways implemented to deactivate it automatically (on click, if cursor will jump to another element and etc.).

Here is how it looks like:
Image

ScrewTurn Wiki version 2.0.37. Some of the icons created by FamFamFam.