# MagicPlot Manual

Plotting and nonlinear fitting software

### Sidebar

set_column_formula

# Setting Column Formula

#### There are two ways to set formula for column evaluation:

1. Select column and write formula in formula string. 2. Use `Table → Set Column Formula` menu item to open column formula dialog window. See Expression Syntax for details. ## Row Index

Variable `i` contains the current row index. Rows are enumerated from 1.

## Rows Evaluation Order

Rows are always evaluated one after another from the first to the last in the specified range. Accordingly the row number `i` is incremented after each step.

##### Example
• You can use this behavior to calculate factorial: set `1` in the first row of column `A` and after that set formula `cell(A, i-1) * i` and rows interval from `2` to `100`. Note that formula is to be set for rows beginning from the second, and not from the first. You will get the factorial of row number (`i`).

## Using Table Data

There are two functions to obtain current table cell values in formula:

• `col(A)` – returns the value of cell in column `A` in the current (i-th) row. Equivalent to `cell(A, i)`.
• `cell(A, 3)` – returns the value in column `A` and row `3`.

You can use either upper-case letters (`A…Z`, e.g. `col(B)`) or numbers (`1, 2, 3,..`, e.g. `col(1)`) in columns numeration in arguments of `col` and `cell` functions.

##### Example
• `col(A) + 15 + cell(B, i+1)`

## Auto Recalculation on Data Change

MagicPlot can automatically recalculate formula when data in used columns are changed. Set `Auto Recalculate` checkbox to enable this feature.

##### Example
• Set formula `col(A)*2` for column B and set `Auto Recalculate` checkbox. Column B will be recalculated if you change values in column A or column A is updated by other formula or processing algorithm (e.g. integral, derivative of other column).

You can edit column formula and change auto recalculation mode from column context menu or menu `Table`. Select exactly one column and open context menu to view this menu items. ## “Argument is out of range at row #” Warning

Some mathematical functions can be defined only on a certain interval. For example, square root (`sqrt(x)`) is not defined for negative numbers (all calculations in MagicPlot are made in real numbers, not complex). Hence if the argument of `sqrt` is negative, a Not-a-Number (NaN) is returned. If a NaN value occurs in some part of formula, the result of calculation will also be a NaN, and corresponding table cells will be empty.

The calculations are not terminated if NaN value occurs in some row(s).

In some cases you may want to check if a `NaN` values occurs in calculations. MagicPlot shows the warning “Argument is out of range at row #”. This row number is the first row in which `NaN` value was returned. MagicPlot also highlights the function or operator which first produces NaN value. 