从matlab中的循环绘图

时间:2013-05-09 20:22:47

标签: matlab plot line curve

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

1 个答案:

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