function cumdev
cumdev(
x: array,
dim?: 0 | 1,
): array

Cumulative mean deviation.

Computes the cumulative mean deviation of an array or matrix along a specified dimension.

Examples

Cumulative mean deviation of a 1D array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([5, 6, 3]), [0.33333333333333304, 1.666666666666666, -8.881784197001252e-16]);

Cumulative mean deviation of a single-element array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([10]), [0]);

Cumulative mean deviation of a matrix along rows (dim=0)

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-1, 3, -1], [4, 5, 9]], 0), [
  [-1.3333333333333333, 1.3333333333333333, 0],
  [-2, -3, 0]
]);

Cumulative mean deviation of a matrix along columns (dim=1)

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-1, 3, -1], [4, 5, 9]]), [
  [-2.5, 0],
  [-1, 0],
  [-5, 0],
]);

Cumulative mean deviation of an empty array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([]), []);

Cumulative mean deviation of an empty matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[]]), []);

Cumulative mean deviation of a matrix with identical values

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[2, 2, 2], [2, 2, 2]]), [
  [0, 0],
  [0, 0],
  [0, 0],
]);

Cumulative mean deviation with negative values

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-5, -10, -15], [0, 5, 10]], 0), [
  [5, 5, 0],
  [-5, -5, 0],
]);

Parameters

The input array or matrix of values.

optional
dim: 0 | 1

The dimension along which to calculate, 1 for columns, 0 for rows (defaults to 1).

Return Type

The cumulative mean deviation.

Throws

If no input is provided.

cumdev(
x: matrix,
dim?: 0 | 1,
): matrix

Cumulative mean deviation.

Computes the cumulative mean deviation of an array or matrix along a specified dimension.

Examples

Cumulative mean deviation of a 1D array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([5, 6, 3]), [0.33333333333333304, 1.666666666666666, -8.881784197001252e-16]);

Cumulative mean deviation of a single-element array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([10]), [0]);

Cumulative mean deviation of a matrix along rows (dim=0)

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-1, 3, -1], [4, 5, 9]], 0), [
  [-1.3333333333333333, 1.3333333333333333, 0],
  [-2, -3, 0]
]);

Cumulative mean deviation of a matrix along columns (dim=1)

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-1, 3, -1], [4, 5, 9]]), [
  [-2.5, 0],
  [-1, 0],
  [-5, 0],
]);

Cumulative mean deviation of an empty array

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([]), []);

Cumulative mean deviation of an empty matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[]]), []);

Cumulative mean deviation of a matrix with identical values

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[2, 2, 2], [2, 2, 2]]), [
  [0, 0],
  [0, 0],
  [0, 0],
]);

Cumulative mean deviation with negative values

import { assertEquals } from "jsr:@std/assert";

assertEquals(cumdev([[-5, -10, -15], [0, 5, 10]], 0), [
  [5, 5, 0],
  [-5, -5, 0],
]);

Parameters

The input array or matrix of values.

optional
dim: 0 | 1

The dimension along which to calculate, 1 for columns, 0 for rows (defaults to 1).

Return Type

The cumulative mean deviation.

Throws

If no input is provided.