在matlab中如何在不运行的情况下同时绘制5个数字?

时间:2014-04-13 22:14:51

标签: matlab plot geometry figure

如果我有这段代码,请在matlab中

%// Set parameters
R = sqrt(10) ;  %// radius
C = [0 0]; %// center [x y]
N = 50;    %// number of points inside circle
%// generate circle boundary
t = linspace(0, 2*pi,100);
x = R*cos(t) + C(1);
y = R*sin(t) + C(2);
%// generate random points inside it
th = 2*pi*rand(N,1);
r  = R*rand(N,1);
xR = r.*cos(th) + C(1);
yR = r.*sin(th) + C(2);
%// Plot everything
figure(1), clf, hold on
plot(x,y,'b')
text(0,0,'C')
plot(xR,yR,'p')
axis equal
 radius=cell(4,1);
       radius {1,1}=1;
       radius {1,2}=0.5;
       radius {1,3}=3;
       radius {1,4}=2;
       for j=1:4
       for i=1:50
           theta=0:.01:2*pi;
           x=radius {1,j}*cos(theta)+rank1{i,2}(1);
            y=radius {1,j}*sin(theta)+rank1{i,2}(2);
             plot(x,y)
             hold on
       end
       end

当我在没有重叠的情况下跑步时,如何同时绘制5个数字?当我运行代码时,它给出了1个数字,所有圆圈重叠。我想要一个带有原始圆和随机点的图形,其他4个与图1相同但是(在它内部有相同的圆和相同的随机点),在其中使用给定半径的其他圆形。

2 个答案:

答案 0 :(得分:1)

如果您想在新图上绘图,请使用figure()创建新图,或者更有用的是,使用figure(1)figure(2)等,然后您就可以了回到之前打开的数字,例如:figure(1),返回图1并继续编辑。

答案 1 :(得分:1)

如果你想要五个不同的数字使用: figure(j), plot(x,y)

   for j=1:4
   for i=1:50
       theta=0:.01:2*pi;
       x=radius {1,j}*cos(theta)+rank1{i,2}(1);
       y=radius {1,j}*sin(theta)+rank1{i,2}(2);
   end
   figure(j+1),plot(x,y)
   end