ax.XAxis.MinorTick = 'on'; 只能打开次刻度,而不能设置个数,下面是个小函数用来指定每个主刻度之间的次刻度的个数
转自网址:https://www.ilovematlab.cn/thread-317210-1-1.html
% dxMINORXY(nx,ny)
function dxMINORXY(nx,ny)
% 说明 dxMINORXY(nx,ny)
% 输入:nx、ny分别为x、y轴两个主刻度之间次刻度的个数。
ax = gca;
%XY limit value
xlim = ax.XLim;
ylim = ax.YLim;
%XY tick value
xtick = ax.XTick;
ytick = ax.YTick;
%XY dtick
dxtick = (xtick(2) - xtick(1));
dytick = (ytick(2) - ytick(1));
%XY minortick interval
dmx = dxtick/nx;
dmy = dytick/ny;
%XY minortick value
ax.XAxis.MinorTick = 'on';
ax.XAxis.MinorTickValues = ...
[(xtick(1)-dmx):-dmx :(xlim(1)-dmx),...
xtick(1) : dmx: xtick(end),...
(xtick(end)+dmx): dmx:(xlim(2)+dmx)];
ax.YAxis.MinorTick = 'on';
ax.YAxis.MinorTickValues = ...
[(ytick(1)-dmy) :-dmy:(ylim(1)-dmy),...
ytick(1) : dmy: ytick(end),...
(ytick(end)+dmy): dmy:(ylim(2)+dmy)];
% first element is for 2d fig ticklength
ax.TickLength = [0.015,0.05];
end