你可以建立一个解决方案基于以下:
%——建立一个查找表,每个JDay associates的数据
%在所有其他jday相同。
堆叠= vertcat(数据{:});
flag_nan = isnan(堆叠(:,2));
缓冲=堆叠(~ flag_nan:);
我=缓冲区(:1);J = 1(大小(缓冲区,1),1);n = max(堆叠(:1));
spmean =稀疏(I, J,缓冲(:,2),n, 1)。*…
spfun (@ (x) 1。/ x,稀疏(I, J, 1, n, 1));
%——更新南数据与相关的意思。
为2 = 1:长度(数据)
{2}flag_nan = isnan(数据(:,2));
{二}数据(flag_nan 2) = spmean ({2} (flag_nan, 1)的数据,1);
结束
或者,如果你能负担得起的循环在南条目,你可以简单的:
堆叠= vertcat(数据{:});
isnan_stacked = isnan(堆叠(:,2));
为2 = 1:长度(数据)
{2}isnan_data = isnan(数据(:,2));
idx_nan =找到(isnan_data);
为jj = 1:元素个数(idx_nan)
isvalid =堆叠(:1){2}= =数据(idx_nan (jj), 1) & ~ isnan_stacked;
{二}数据(idx_nan (jj), 2) =意味着(堆叠(isvalid, 2));
结束
结束
欢呼,
塞德里克