我的matlab代码中出现了一些奇怪的问题,这是我代码的一部分:
for k=1:length(box11)
num_pts1(k)=sum(length(find(box11(:,k)>0)));
size1=sum(length(find(box11(:,:)>0)));
perc1(k)=(num_pts1(k)/size1)*100;
end
plot(delta,perc1(k),'*')
然而,问题是我在我的情节中修复了perc1。所以我在图中看到一条直线。但是我希望有不同的数字给我一条曲线。 plzzzzzzzzzzzzzzzz,任何帮助:( !!!
答案 0 :(得分:0)
您应该记得length
返回数组的长度。所以,在指令中
num_pts1(k)=sum(length(find(box11(:,k)>0)));
运算符sum
作用于标量(等于数组find(box11(:,k)>0)
的长度),而不是数组。对于指令
size1=sum(length(find(box11(:,:)>0)));
因此,如果find(box11(:,k)>0)
的长度不随k
而变化,那么您的perc1
将保持不变。