Scilab散点图for循环
问题描述:
我试图在for循环中做散点图,我只绘制最后一点。 但是在看我的绘制点时,它们是从我的等式中获得的点。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
答
如果你想要的是采取cx
和cy
的最后的值在每个循环中,一个选择是创建新的阵列来存储这些值,并绘制它们的外循环,像这样:
...
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");
你能改善你的问题吗? “最后一点”是什么意思?我知道你有一个计算''cx''和''cy''的for循环。你想要的只是选择这些矩阵的每个循环中的最后一个值(第1000个值)并将它们一起绘制? – luispauloml
是的,那正是我的意思! –