Matlab把已知点画到坐标图上,y轴如何转换成10^-1.5这种形式。

输入的y轴代码是10的负几次方形式,但是画在坐标轴上就变成了小数。请问怎样可以使y轴坐标变回10^-1.5,10^-1.4,10^-1.3这种表示呢?

img

改成如下即可

x=[1,2,3,4,5,6,7];
y1=[10^-1.4,10^-1.5,10^-1.3,10^-1.1,10^-1.5,10^-1.6,10^-1.64];
plot(x,y1,'o-')
yticklabels({'2*10^{-2}','3*10^{-2}','4*10^{-2}','5*10^{-2}','6*10^{-2}','7*10^{-2}','8*10^{-2}'})
 

img

或者可以改成如下的形式:

x=[1,2,3,4,5,6,7];
y1=[10^-1.4,10^-1.5,10^-1.3,10^-1.1,10^-1.5,10^-1.6,10^-1.64];
plot(x,y1,'o-')
ax = gca;
ax.YAxis.Exponent = -2;

img

是这种形式吗:

img

在plot函数下面加两句:
ax = gca;
ax.YAxis.Exponent = -2; %小数转为科学计数法,2为给定的指数
如下,上述图片由以下代码绘制,可以根据需要修改指数即可:


x=0.02:0.01:0.06
y=0.02:0.01:0.06
plot(x,y) 
ax = gca;
ax.YAxis.Exponent = -2; %小数转为科学计数法,2为给定的指数