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 of the function
  • expression definition of the function

Examples functions

\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
substitute Creates a new function g by replacing a free variable x in f by an earlier defined variable (possible again a function) g. \substitute{h}{f}{x}{g}

Amount of digits

Suppose we set the field to real or complex (See \field{...}). Then the 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$$

More details on precision can be found here
Rounding

Evaluation of a function

1
2
3
4
5
% field is real
 
\number{a}{1}
\function{f}{2*x^4 + 4x^2 - 3x + 7}     % defines a function f of the variables x                        
\substitute[normalize]{f(1)}{f}{x}{a}   % function of the single variable y, f(x_0,y)

The function $f(x) = 2*x^4 + 4x^2 - 3x + 7$ evaluated at $x=1$ yields $f(1) = 10$

Examples evaluation of functions

Compositions of two functions

Examples composition of functions

Derivative of a function

Examples

1
2
3
4
5
6
7
8
9
10
11
\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