for循环中的Scilab散点图

时间:2017-10-07 01:45:53

标签: scatter-plot scilab

我正在尝试在for循环中执行散点图,其中我只绘制最后几个点。 但是在查看我的绘图点时,它们是从我的等式中获得的点。

我只能获取并绘制最后几点?

以下是代码:

m=1000
z=4000
T=200
pr=101325
sigma=0.24
cc=sigma*10^(-18)
lambda=((1.38*10^(-23)*T)/(sqrt(2)*pr*cc))
p=%pi*2
for I=1:z
theta=(grand(m,1,"unf",0,p));
cx= cumsum(lambda*cos(theta));
cy= cumsum(lambda*sin(theta)); 
scatter((cx,cy))
xlabel(["x"]);
ylabel("y");
title("Partilcle Distribution");
end

1 个答案:

答案 0 :(得分:0)

如果你想要的是在每个循环中取cxcy的最后一个值,一个选项是创建新的数组来存储这些值并将它们绘制在循环之外,就像这样:

...
x = zeros(1,z); //row matrix filled with zeros
y = zeros(1,z); //row matrix filled with zeros
for I=1:z
    theta = grand(m,1,"unf",0,p);
    cx = cumsum(lambda*cos(theta));
    cy = cumsum(lambda*sin(theta));

    //overwriting values
    x(I) = cx($); //the dollar sign ($) returns the last element 
    y(I) = cy($); //of a row or a column in a matrix
end
scatter(x,y);
xlabel("x");
ylabel("y");
title("Partilcle Distribution");