StandardDeviation (Arraylist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:Arraylist:StandardDeviation subtitle}}
{{Template:Arraylist:StandardDeviation subtitle}}


This method returns the standard deviation, the variation from the mean, of the values of the items in the collection. This is the square root of the collection's variance.
This method returns the standard deviation, the variation from the mean, of the values of the items in the <var>Arraylist</var>. This is the square root of the <var>Arraylist</var>'s [[Variance (Arraylist function)|variance]].


==Syntax==
==Syntax==
Line 14: Line 14:
<td>An <var>Arraylist</var> object.</td></tr>
<td>An <var>Arraylist</var> object.</td></tr>


<tr><th>method</th>
<tr><th>itemFunction</th>
<td>A function that operates on the type of the items in the <var>Arraylist</var>. It may be a [[Local and Common entities#Defining and invoking a local method|local method]] or [[Method variables|method variable]] or a class member (<var>Variable</var>, <var>Property</var>), and it must return an [[Intrinsic classes|intrinsic]] (probably <var>Float</var>) value.
<td>A function that operates on the type of the items in the <var>Arraylist</var>. It may be a [[Local and Common entities#Defining and invoking a local method|local method]] or [[Method variables|method variable]] or a class member (<var>Variable</var>, <var>Property</var>), and it must return an [[Intrinsic classes|intrinsic]] (probably <var>Float</var>) value.
<p>
<p>
The default <var class="term">method</var> value is the special identity function, <var>This</var>, which simply returns the item value.</p></td></tr>
The default <var class="term">itemFunction</var> value is the special identity function, <var>[[Collections#Using the This function as the Maximum parameter|This]]</var>, which simply returns the item value.</p></td></tr>
</table>
</table>


==Usage notes==
==Usage notes==
<ul>
<ul>
<li>The optional <var class="term">method</var> parameter lets you further manipulate the <var>Arraylist</var> item values
<li>The optional <var class="term">itemFunction</var> parameter lets you further manipulate the <var>Arraylist</var> item values
before performing the <var>StandardDeviation</var> method's operation.
before calculating the standard deviation. The <var class="term">itemFunction</var> default (identity function <var>This</var>) fails against non-intrinsic values, however. If your collection items are <i>not</i> intrinsic values, you must specify an <var class="term">itemFunction</var> function that can map the item values to intrinsic values.
If your <var>Arraylist</var>'s items are not intrinsic values, you must specify a function that can map the item values to intrinsic values or the method will fail.
<p>  
<p>  
For example, for an <var>Arraylist</var> that is a list of coordinates, you could
For example, for an <var>Arraylist</var> that is a list of coordinates, you could
return the average of their distance from the origin by first applying a local function as the <var>StandardDeviation</var> method's <var class="term">method</var> parameter: </p>
return the average of their distance from the origin by first applying a local function as the <var>StandardDeviation</var> method's <var class="term">itemFunction</var> parameter: </p>
<p class="code">b
<p class="code">b
class point
class point
Line 64: Line 63:
   
   
%al = new
%al = new
%al:add(5)
%al = [[List (Arraylist function)|list]](5, 3, 8)
%al:add(3)
%al:add(8)
   
   
print %al:standardDeviation
print %al:standardDeviation

Latest revision as of 16:48, 27 July 2012

Compute the standard deviation of the items (Arraylist class)

[Introduced in Sirius Mods 7.8]


This method returns the standard deviation, the variation from the mean, of the values of the items in the Arraylist. This is the square root of the Arraylist's variance.

Syntax

%standardDev = al:StandardDeviation[( [itemFunction])]

Syntax terms

%standardDev A Float variable to contain the numeric result.
al An Arraylist object.
itemFunction A function that operates on the type of the items in the Arraylist. It may be a local method or method variable or a class member (Variable, Property), and it must return an intrinsic (probably Float) value.

The default itemFunction value is the special identity function, This, which simply returns the item value.

Usage notes

  • The optional itemFunction parameter lets you further manipulate the Arraylist item values before calculating the standard deviation. The itemFunction default (identity function This) fails against non-intrinsic values, however. If your collection items are not intrinsic values, you must specify an itemFunction function that can map the item values to intrinsic values.

    For example, for an Arraylist that is a list of coordinates, you could return the average of their distance from the origin by first applying a local function as the StandardDeviation method's itemFunction parameter:

    b class point public constructor new(%x is float, %y is float) variable x is float variable y is float end public constructor new(%x is float, %y is float) %this:x = %x %this:y = %y end constructor end class local function (point):distance is float return (%this:x * %this:x + %this:y * %this:y):squareRoot end function %al is arrayList of object point %al = new %al:add(new(1,1)) %al:add(new(3,4)) %al:add(new(-5,12)) print %al:standardDeviation(distance) end

    The result is 4.84295951476148.

Examples

b %al is arrayList of float %al = new %al = list(5, 3, 8) print %al:standardDeviation end

The result is:

2.05480466765633

See also