You're not reading the latest revision of this page, which is here.

Function

A function may include variables as parameters, independent variables e.g. $x,y,...$ and other functions.

The \field{...} command determines how the numbers within the function will be interpreted.

Syntax for a function.

\function[<action>]{<variable>}{<expression>}
  • action see table below
  • variable name for the function
  • expression definition of the function

Examples

\function[normalize]{f}{x*x+3+4+0*z}            % defines a function f of one variable: f(x)
\function{g}{x^4 - 5*x*y^3 + 4x^2 + 3y + 7}     % defines a function g of two variables: g(x,y)

$$f = x^2 + 7$$

$$g = x^4 - 5xy^3 + 4x^2 + 3y + 7$$

Actions

1
2
3
4
5
\begin{variables}
  \number{a}{1}
  \number{b}{3}
  \function[...]{...}{...}
\end{variables}
Action Description Example
replace Replace all variables in the expression (this is the default action and can be omitted) \function[replace]{f}{a/b}
$f = \frac{1}{3}$
normalize Replaces all variables and normalizes the expression. Normalize applies the following rules. \function[normalize]{f}{x*x+3+4+0*z}
$f = x^2 + 7$
expand Replaces all variables and expands the expression. Expand applies the following rules. \function[expand, normalize]{f}{(x-1)(x-2)}
$f = x^2 - 3x + 2$
sort Replaces all variables and sorts the expression. \function[sort]{f}{c-b+a*c*b}
$f = abc - b + c$
calculate Replaces all variables and calculates the expression. Using this option will always result in a number, in the case where a variable is undefined it takes the value 0. \function[calculate]{f}{a/b}
$f = 0.333333333333333$

amount of digit

Amount of digits

We suppose that we have set the field to real or complex (See \field{...}). In this case functions evaluated with the calculate option will show the result with 15 digits behind the decimal mark.

Quite often this is undesired when you want to output this value on the screen. In order to reduce the amount of digits behind the decimal mark, you can provide a second (optional) parameter. The calculated result will then be rounded to this precision.

Optional Second parameter

  • number Rounds the calculated result to the given number. This number must be higher then the specified corrector precision.
  • display Rounds the calculated result to the specified display precision.
1
2
3
4
5
6
7
8
9
10
% field is real
 
\number{a}{1}
\number{b}{3}
\function[calculate, 3]{f}{a/b}
 
% instead of a number one can use the option display
% the result will then be displayed based on \displayprecision
 
\function[calculate, display]{f}{a/b}

$$f = 0.333$$
$$g = 5$$
More details on precision can be found here
Rounding

Functions of several variables

Example

\begin{problem}
    \begin{question}
     \begin{variables}
        \function{f}{x^4 - 5*x*y^3 + 4x^2 + 3y + 7}     % defines a function of 2 variables f(x,y)
        \randint{x0}{2}{9}                              % x_0 is the x-value where f is to be evaluated
        \substitute[normalize]{fx0}{f}{x}{x0}           % function of the single variable y, f(x_0,y)
        \end{variables}
     \text{$f(x,y) = \var{f}$ \\
      Evaluation of $f(x,y)$ at $x = \var{x0}$: $f(x=\var{x0},y) =\var{fx0}$}
    \end{question} 
\end{problem}

$$f = x^2 + 2xy $$

For details go to