当绘制下面的图形时,NSS1(它只是一个等于1的常数集)就在图形的上边框上,因此很难看到。
如何改变Y轴的长度为1.2,从而可以更清楚地看到NSS1?

lambda=5;
tau=0:30;

tau(1)=0.000001;

NSS1=1*ones(1,31);
NSS2=(1-exp(-tau/lambda))./(tau/lambda);
NSS3=((1-exp(-tau/lambda))./(tau/lambda)-exp(-tau/lambda));

%ylim([0, 1.2])
plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');
xlabel('t = 0 to 30y', 'FontSize',30)
ylabel('yield','FontSize',30)

最佳答案

如果将其放在plot命令之前,那么ylim不起作用的原因是它没有可以关联的axes对象。
所以有两种选择:
首先,创建一个axes对象并将其保存在hold on,因此即将到来的plot绘制在同一轴上。

ax = axes; hold on;
ylim([0, 1.2])

plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');

或者第二,首先,该命令自动生成一个对象,然后可以修改其y限制:
plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');
ylim([0, 1.2])

10-07 15:28