-1

我在我的 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,任何帮助:( !!!

4

1 回答 1

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将保持不变。

于 2013-05-09T20:26:52.477 回答