New Equation Formatting Commands

FX Equation has long had a box command that can be used to place boxes around parts of an equation.

3×3+box(2×2)+3x-4

is rendered as

We have now added a number of similar commands

arcunder(2×2)
cross(2×2)
strike(2×2)
cancel(2×2)
braceover(braceunder(2×2)+3x)
ul(2×2) + dul(3x)

You can control the color of the lines by applying color to the commands.

All of these commands can be nested and combined in one equation giving you significant flexibility in the results you can achieve.

Posted in Uncategorized | Leave a comment

Intersection, Union & Complement

We have added three new commands to the inline calculator that support data parameters.

For example, if you have defined the following Char parameters

$p=char(A,H) and $q=char(F,M)

You can down perform the following calculations on the results.

{union($p,$q)} will return {A,B,C,D,E,F,G,H,I,J,K,L,M}
{intersection($p,$q)} will return {F,G,H}
{complement($p,$q)} will return {A,B,C,D,E}

Posted in Uncategorized | Leave a comment

New Multi Parameter

The new Multi parameter allows you to create multiple choice questions that randomise the order of the answers. This means that your multiple choice question can have answers and distractors that vary due to the parameters used AND the correct answer can change with each regeneration.

The full documentation for the Multi parameter is to complex to be included in this post but is available here:

https://efofex.com/documentation/index.html?multi_parameters.htm

The easiest way to create a multichoice question is to use one of the questions available in FX Library.

Posted in Uncategorized | Leave a comment

New Char Parameter

Char parameters allow you to quickly define a list of characters that can then be accessed randomly when regenerating

Char parameters are defined using the char command.

$p=char(start character, end character)

Examples:

$p=char(A,Z)                                $p can be any uppercase letter.

$q=char(a,z)                                $q can be any lowercase letter.

Posted in Uncategorized | Leave a comment

New Parameter Options

Often, the hardest part of creating a MultiDocs question is setting up a parameter that produces suitable numbers. We have recently released two new options that can help you.

New Option For Range and RangeEx

The Range and RangeEx parameters now have a new option available – ExcludeMultiplesOf

$p=range(low, high, increment(optional), excludemultiplesof(optional))

An example command might be $p=range(200,400,2,10)

This produces a range of values between 200 and 400, incrementing by 2, excluding all multiples of 10

$p will take a value from this set. {202, 204, 206, 208, 212, 214, 216, 218, 222, 224,… 388, 392, 394, 396, 398}

This extension allows you to quickly remove values which might prove too easy for your particular question.

NoCommonFactor Parameter

NoCommonFactor parameters allow you to access numbers which do not share a common factor.

$p=nocommonfactor(number)

$p=nocommonfactor(number,low,high)

Notes:

  • low and high are optional and do NOT need to be factors of the number.
  • low and high can be higher (or lower) than number
  • The nocommonfactor command will return 1.

Examples:

$p=nocommonfactor(12)                $p will be chosen from the set {1,5,7,11}.

$p=nocommonfactor(12,10,36)        $p will be chosen from the set {11,13,17,19,23,25,29,31,35}.

The most common reason for using a nocommonfactor parameter is to create numerators for fractions which cannot be simplified.

Posted in Uncategorized | Leave a comment

Working With Bivariate Data

Data parameters can now be created with bivariate data.

$b=data((11,12)(15,19)(21,28)(13.2,19.4),(8,16))

Bivariate data is entered as separate data points, wrapped in parentheses, which are then (optionally) separated with your normal separator.

New RandBivariate Parameter

Often, the best way to create random bivariate is to use a randbivariate parameter.

$p=RandBivariate(lowx, highx, slope, intercept, targetr, number)

Generates number random bivariate data points with the x values ranging from lowx to highx. The data will approximately fit a linear regression line with the given slope and intercept with a correlation coefficient of approximately targetr.

If you want data with a negative correlation, you MUST enter a negative slope, NOT a negative targetr.

Statistical Commands

There are a number of new statistical commands that can operate on bivariate data parameters.

regslope($p) will return the slope of the line of best fit for the bivariate data.
regintercept($p) will return the intercept of the line of best fit for the bivariate data
regr($p) will return the correlation coefficient for the bivariate data

Other Commands

$b=data((11,12)(15,19)(21,28)(13.2,19.4),(8,16)) creates 5 data points, each with an x value and a y value.

$b[3] will return (21,28)
xvalue($b[3]) will return 21
yvalue($b[3]) will return 28

Posted in Uncategorized | Leave a comment

Working With Grouped Data

Data parameters can now support grouped data.

$g=data(10~20:2,20~30:6,30~40:4,40~50:2)

This data parameter is equivalent to this frequency table.

DataFrequency
10 < x <= 202
20 < x <= 306
30 < x <= 404
40 < x <= 502

Each entry in the data parameter is the group definition, separated by a ~, and the frequency, separated by a :.

Statistical Calculator Commands

All statistical commands honour the group and frequency information. For example {mean($g)} will return 29.28

Grouped Data Calculator Commands

The definition of $g creates 4 group entries. If you reference one of the entries, $g[3] for example, you will see 30~40:4. There are two commands which allow you to access the group definition and the frequency of the entry.

{groupdefn($g[3])} will return 30~40
{freq($g[3])} will return 4

Grouping Existing Data

If you have a parameter which contains raw, ungrouped data you can group it using a calculator command.

For example. If

$p=randnormal(50,15,30)

{group($p)} will return the raw data automatically grouped.

Often, the best way to use the group command is within parameter definitions.

$p=randnormal(50,15,30)
$g=group($p)

This will create a set of randomly generated grouped data, perfect for histogram type questions.

Posted in Uncategorized | Leave a comment

Working With Frequency Tables

Data parameters can now support frequency tables.

$p=data(10:1, 11:3, 12:5, 13:4, 14:3, 15:2)

This data parameter is equivalent to this frequency table.

DataFrequency
101
113
125
134
143
152

Each entry in the data parameter is the data value and the frequency, separated by a :.

Statistical Calculator Commands

All statistical commands honour the frequency information. For example {mean($p)} will return 12.61111

Frequency Table Calculator Commands

The definition of $p creates 6 data entries. If you reference one of the entries, $p[3] for example, you will see 12:5. There are two commands which allow you to access the data value and the frequency of the entry.

{datavalue($p[3])} will return 12
{freq($p[3])} will return 5

Posted in Uncategorized | Leave a comment

More Statistical Functions

The inclusion of data parameters and random number generating parameters has prompted more statistical functions which can calculate summary statistics.

For example. If $p=randnormal(50,15,30), $p will return a data parameter with 30 random numbers which have been taken from a probability density function with mean of 50 and standard deviation of 15.

Measures of Central Tendency

mean($p)
median($p)
mode($p)


Note that mode will return one or two modes if they exist.

Measures of Dispersion

sd($p) Sample standard deviation
sdp($p) Population standard deviation
variance($p) Variance
iqr($p) Interquartile range.
range($p) Range

Other Measures

count($p) Counts the number of values in the data parameter (equivalent to $p[0])
lq($p) Lower quartile
max($p) Maximum value
maxref($p) Reference of the maximum value (ie, this will return 3 if the third value is the maximum)
min($p) Minimum value
minref($p) Reference of the minimum value
sum($p) Sum of the values in $p
uq($p) Upper quartile

Posted in Uncategorized | Leave a comment

Working With Words

We have implemented a new parameter and a number of new calculator commands that allow you to work with words. These allow you to implement probability questions like:

If you randomly select a letter from the word MISSISSIPPI, what is the probability that the letter you select will be a vowel.

You could implement this type of question using a LIST parameter.

$m=list(“M”,”I”,”S”,”S”,”I”,”S”,”S”,”I”,”P”,”P”,”I”)

but this quickly becomes onerous, especially if you want to include a range of words in your question.

New Explode Parameter.

The first change we have made is to implement a new Explode parameter.

$x=explode(“MISSISSIPPI”)

This takes the provided word and explodes it into a list – just like typing the extended list command above.

You can combine a list command and an explode command to create a question which deals with lots of different words.

$w=list(“MATHEMATICS”,”STATISTICS”,”ALGEBRA”,”TRIGONOMETRY”,”GEOMETRY”)
$x=explode($w)

This allows you to regenerate to randomly select a word and explode it into a list of letters.

New Calculator Commands

unique($x)

Creates a new list of the unique letters in a list of letters. If $x contains the exploded word MATHEMATICS, {unique($x)} will return the list

“M”,”A”,”T”,”H”,”E”,”I”,”C”,”S”

sort($x)

The sort command will sort a list of letters. If $x contains the exploded word MATHEMATICS, {sort($x)} will return the list”A”,”A”,”C”,”E”,”H”,”I”,”M”,”M”,”S”,”T”,”T”

You will often combine the sort and unique commands.

{sort(unique($x))} will return “A”,”C”,”E”,”H”,”I”,”M”,”S”,”T”

vowels($x)

This command returns a list of vowels in a word.

{vowels(sort(unique($x)))} will return “A”,”E”,”I”

consonants($x)

This command returns a list of consonants in a word.

{consonants(sort(unique($x)))} will return “C”,”H”,”M”,”S”,”T”

NOTE: The letter Y is not returned by either the vowels command or the consonants command.

Posted in Uncategorized | Leave a comment