## subtract from each element its mean / find absolute deviation across rows

on 17 Jan 2013

### Walter Roberson (view profile)

```A = [1 2 NaN; 4 NaN 6; 7 8 9]
```
```A =
```
```       1     2   NaN
4   NaN     6
7     8     9```
```mn = nanmean(A,2)
```
```mn =
```
```      1.5000
5.0000
8.0000```

I would like to subtract each element by its corresponding row average as shown below(i.e find absolute deviations from mean),

```1-1.5  2-1.5  NaN
4-5    NaN    6-5
7-8    8-8    9-8
```

Note the below array has no negative values as I am trying to find modulus of deviations.

```0.5 0.5 NaN
1   NaN 1
1   0   1
```

Then sum up each row and divide by no. of elements.

```(-0.5+0.5)/2
(-1 + 1)/2
(-1 + 0 + 1)/3
```

How can I achieve this result vector using arrayfun or by any other method ?

I am trying to find teh absolute deviation of each element in the array. i.e std.dev without the sq

## Products

No products are associated with this question.

### Walter Roberson (view profile)

on 17 Jan 2013
```nanmean(abs(bsxfun(@minus A, nm)),2)
```

Ms. Mat

### Ms. Mat (view profile)

on 17 Jan 2013

Thank You !!!

nanmean(abs(bsxfun(@minus, A, nm)),2)