Matlab 使用具有较小间隔的x、y轴进行打印

Matlab 使用具有较小间隔的x、y轴进行打印,matlab,plot,Matlab,Plot,我想画两个函数,使X轴和Y轴的间隔小于所示的间隔 这里是情节 这是我的密码 x = linspace(-2,2,100); plot (x, atan(x)), grid on; ax = gca; ax.XAxisLocation = 'origin'; ax.YAxisLocation = 'origin'; hold on plot(x, x-atan(x).*(1+x.^2)) hold off x轴的间隔为0.5,但y轴的间隔为0.5。有人能告诉我如何使轴的间隔更小

我想画两个函数,使X轴和Y轴的间隔小于所示的间隔

这里是情节

这是我的密码

x = linspace(-2,2,100);    

plot (x, atan(x)), grid on;

ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';

hold on 
plot(x, x-atan(x).*(1+x.^2))
hold off
x轴的间隔为0.5,但y轴的间隔为0.5。有人能告诉我如何使轴的间隔更小吗?我想在x轴上的0和0.5之间设置0.1、0.2、0.3和0.4。然后在$y$-轴上执行相同的操作


我现在正在查看,但还没有找到如何执行上述操作。

您想更改勾号位置。这可以通过几种方式完成,但需要编程:

ax.XTick=-1.5:0.1:1.5

这会将X轴上标记的值更改为0.1、0.2等。如果只想在轴的特定部分使用较小的间距,则可以单独设置刻度值(例如
[-1-0.5 0.1 0.2 0.3]

更改Y轴是相同的,但使用
YTick


这方面的文档是

我如何忽略第一个0.1迭代标记?我的意思是,不显示第一个0.1如果0.1不在您设置XTick的向量中,那么它就不会是记号。所以只需要构造一个没有0.1的向量。