Functions for mathematics are what elementary particles are for physics. For this reason, the Scalar Calculator and its mathematical engine, provide the syntax for defining user functions, which is as close to natural as possible. Just enter f (x) = x^2 and you are ready to go. Stay tuned to learn a bit more details! 🙂
⭐ Basic user defined functions
The syntax for defining user functions is as follows.
FunctionName(param1 <, param2, …>) = expression
It is much easier to understand this on the basis of an example – it is really easy. Please note that you can easily define a function depending on the function you have already defined. It gives you great flexibility.
Scalar code result:
scalar > f(x) = sqrt(x) scalar > g(x) = f(x)^2 scalar > h(x) = g(x)^2 scalar > h(4) e1 = 16 scalar > g(4) e2 = 4 scalar > f(4) e3 = 2 scalar > Showing command history
Scalar script:
f(x) = sqrt(x) g(x) = f(x)^2 h(x) = g(x)^2 h(4) g(4) f(4)
I am sure, that from time to time, you will want to check what you have already defined. This is possible using context help. Long click on the “example /?” button, then select the user items option.
⭐ Drawing charts of user defined functions
Each defined function is available in the Scalar namespace. Nothing prevents you from referring to these names anywhere in the application. In particular, it allows you to draw graphs of your own functions.
⭐ User defined functions with many parameters
Nothing special in this case as Scalar has no restrictions. Simply use the similar syntax to the presented in the below example.
Scalar code result:
scalar > f(x,y) = sin(x) + cos(y) scalar > f(pi/6, pi/4) e1 = 1.2071067811865475 scalar > 1/2 + sqrt(2)/2 e2 = 1.2071067811865475 scalar > f(x,y,z) = x*y*z scalar > f(1,2,3) e3 = 6 scalar > f(4,5,f(1,2,3)) e4 = 120
Scalar script:
f(x,y) = sin(x) + cos(y) f(pi/6, pi/4) 1/2 + sqrt(2)/2 f(x,y,z) = x*y*z f(1,2,3) f(4,5,f(1,2,3))
⭐ Variadic user defined functions
Scalar provides a special syntax for defining functions with any (variable) number of parameters.
FunctionName(…) = expression
“(…)” is obligatory as it indicates that you create function with variable number of parameters.
Additionally Scalar provides special keywords that help to build expression defining variadic functions.
- [npar] – number of parameters provided by the user on calculation request
- par(i) – value of parameter at index “i”
Please refer to the below example
Scalar code result:
scalar > f(...) = [npar] scalar > f(2) e1 = 1 scalar > f(3,1) e2 = 2 scalar > f(4,2,5,6) e3 = 4 scalar > f(...) = sum(i,1,[npar],par(i)) scalar > f(1,2,3,4,5) e4 = 15 scalar > 1+2+3+4+5 e5 = 15
Scalar script:
f(...) = [npar] f(2) f(3,1) f(4,2,5,6) f(...) = sum(i,1,[npar],par(i)) f(1,2,3,4,5) 1+2+3+4+5
Thank you for your time 🙂
All the bets!