第一个代码:
kk8 = (kk1(:,:) .* (reshape((kk2(c,:,:)),12,6) ));
kk8(isnan(kk8))=0;
size(kk8)
返回
ans =
12 6
第二个代码:
size( kk8(isnan((kk1(:,:) .* (reshape((kk2(c,:,:)),12,6) ))))=0 );
我在这里做一些作弊,看看会发生什么 - 我认为它会是一样的,但现在size(kk8)
返回
ans =
1 60
答案 0 :(得分:1)
在第一个示例中,您正在执行以下操作(就数组大小而言):
kk8=kk1;
kk8(isnan(kk1))=0;
在你的第二个例子中,你正在做类似
的事情kk8(isnan(kk1))=0;
我认为以前没有定义kk8。
在第一个示例中,您创建了与kk8
大小相同的数组kk1
,然后修改了一些元素。在第二个示例中,您将kk8
创建为与NaN
中kk1
的数量相对应的向量零。这就是为什么它们会有不同的尺寸,因为它们的创建方式不同。