查看图的一部分

时间:2012-04-12 05:01:49

标签: user-interface matlab matlab-figure matlab-guide

我进行了10000次模拟,想要查看5000-5200之间的部分模拟。我可以使用下面的代码查看它,但x轴表示0-250。我希望x轴显示5000-5200的确切数字。此外,由于某些原因轴的运行高达250,因此在图的末尾似乎有一个小间隙。我只想查看这个设定时间的数字,x轴显示精确的标签,最后没有间隙。

由于

N=10000;%Number of simulation
P=0.02;
Q = zeros(N,1); %current value of queue
X=zeros(N,1);%simulation data
Ci=0;
L=0.9;
Bu=zeros(N,1);
Bs=30;
Bd1=50;
Bd2=270;
Ti=0;
for Ti=2:N
U=rand(1);
a=log10(U);
b=log10(1-P);
c=(a/b);
d=1+c;   
X(Ti)=round(d);
Ci=Ci+1;
if X(Ti)< (L)*(Bs)
      Bu(Ti)=Bs;
 else  if X(Ti) < (L)*(Bs+Bd1)
    Bu(Ti)=Bs+Bd1;
 else 
    Bu(Ti)=Bs+Bd1+Bd2;    
    end 
end
Ti=Ti+1;
end
plot(X(5000:5200,1),'r');
set (gca,'ylim',[0 400]);
hold on;
plot(Bu(5000:5200,1),'b');
set (gca,'ylim',[0 400]);
hold off

1 个答案:

答案 0 :(得分:0)

Plot需要两个输入,第一个描绘水平轴,第二个描绘垂直轴。当你不提供两个输入时,它会计算单个输入的长度(在这种情况下长度为5200-5000 = 200),并且它只使用1到那个长度(在这种情况下为1:200),就好像它一样是水平轴变量的值。

我想你要发出命令:

plot(5000:5200, X(5000:5200,1), 'r')

Matlab通常会调整绘图轴以获得更好的默认视图,所以它可能只是通过一些默认绘图惯例将轴显示到索引250。如果您愿意,也可以类似地使用set(gca, 'xlim', [5000 5200])