我有以下三个向量,我想插入NaNs
其中B
缺少A
数据点的位置An
。所以我Bn
应该是[0.1;0.2;0.3;NaN;NaN;0.6;0.7]
。我怎样才能得到Bn?谢谢。--杰基
A=[1;2;3;6;7];
An=[1;2;3;4;5;6;7];
B=[0.1;0.2;0.3;0.6;0.7];
好的,首先,您不能将字符串“NaN”存储到矩阵的一个单元格中,它必须存储到一个单元格数组中。如果单元格数组是一个好的输出,下面的代码片段会为您提供解决方案。请让我知道您可能有任何问题或疑虑。
忘记斜体部分,谢谢 David K.
% NaN solution for Jackie
A=[1;2;3;6;7]; An=[1;2;3;4;5;6;7]; B=[0.1;0.2;0.3;0.6;0.7];
len = max(length(A),length(An))
Bn = zeros(len,1);
k = 0; % adjust the index so that you don't call B outside of its size
for i =1 :len
ind= A(An(i)==A);
if isempty(ind) ==1
Bn(i) = nan(1,1)
k = k+1;
else
Bn(i) = B(i-k)
end
end