# rowImax {#rowimax}

**Parent topic:**[Functions](../../Functions/category.md)

## Syntax {#syntax}

`rowImax(args...)`

Please see [rowFunctions](../Themes/rowFunctions.md) for the parameters and calculation rules.

## Details {#details}

Return the index of the maximum in each row. If there are multiple maxima, return the index of the first maximum from the left. The result is a vector with the same length as the number of input rows.

## Examples {#examples}

```
m=matrix([4.5 2.6 1.5 3.2, 1.5 4.8 5.9 1.7, 4.9 2.0 NULL 5.5])
print rowImax(m)
// output: [2,1,1,2]

trades = table(10:0,`time`sym`p1`p2`p3`p4`p5`vol1`vol2`vol3`vol4`vol5,[TIMESTAMP,SYMBOL,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,INT,INT,INT,INT,INT])
insert into trades values(2022.01.01T09:00:00, `A, 33.2, 33.8, 33.6, 33.3, 33.1, 200, 180, 180, 220, 200)
insert into trades values(2022.01.01T09:00:00, `A, 33.1, 32.8, 33.2, 34.3, 32.3, 150, 280, 190, 100, 220)
insert into trades values(2022.01.01T09:00:00, `A, 31.2, 32.6, 33.6, 35.3, 34.5, 220, 160, 130, 100, 110)
insert into trades values(2022.01.01T09:00:00, `A, 30.2, 32.5, 33.6, 35.3, 34.1, 200, 180, 150, 140, 120)
insert into trades values(2022.01.01T09:00:00, `A, 33.2, 33.8, 33.6, 33.3, 33.1, 180, 160, 160, 180, 200)
select rowAt(matrix(p1, p2, p3, p4, p5), rowImax(vol1, vol2, vol3, vol4, vol5)) as price from trades
```

|price|
|-----|
|33.3|
|32.8|
|31.2|
|30.2|
|33.1|

If *args* is an array vector, return the index of the maximum in each row. The result is a vector.

``` {#codeblock_j3p_thc_zzb}
a = 1 8 3 8 1
b = 5 8 1 3 6
c =  9 5 4 7 6
x = fixedLengthArrayVector(a, b, c)
rowImax(x)
// output: [2,0,2,0,1]
```

Related functions: [imax](../i/imax.md)

