# Choosing the role of NaN elements in the sum environment of matrices

2 次查看（过去 30 天）
Richard Wood 2024-3-25

Hello everyone
I would like to know what would be the best way to add element by element two matrices, a and b, which, for simplicity, could be defined as:
aa=[1 2; 3 NaN];
bb=[NaN 1; 2 NaN];
adding some conditions: i) if two elements in position (i,j) are different from NaN, add them and divide by the number of elements in that position other than NaN (for example, for position (2,2): (2+1)/2, and for position (1,1): 1/1), and ii) if two elements in position (i,j) are equal to NaN, the sum goes to NaN. So I was wondering which will be the an efficient way to do aa+bb under the i) and j) conditions to obtain:
cc=[1 3/2; 5/2 NaN];

### 回答（1 个）

Chunru 2024-3-25
aa=[1 2; 3 NaN];
bb=[NaN 1; 2 NaN];
cc = mean(cat(3, aa, bb), 3)
cc = 2x2
NaN 1.5000 2.5000 NaN
##### 2 个评论显示 无隐藏 无
Stephen23 2024-3-25
aa = [1,2; 3,NaN];
bb = [NaN,1; 2,NaN];
cc = mean(cat(3, aa, bb), 3, 'omitnan')
cc = 2x2
1.0000 1.5000 2.5000 NaN
Chunru 2024-3-25
Yes. It should be with 'omitnan' option.

### 类别

Help CenterFile Exchange 中查找有关 GPU Computing 的更多信息

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by