Matlab 如何在垂直轴上强制使用科学符号?
我有一组函数的输出。如何绘制它们,以便域从某个特定值开始,并在每个特定步骤显示一个值。例如:Matlab 如何在垂直轴上强制使用科学符号?,matlab,function,plot,Matlab,Function,Plot,我有一组函数的输出。如何绘制它们,以便域从某个特定值开始,并在每个特定步骤显示一个值。例如: >> Ox = [40:10:90]; 水平轴应显示40和90之间的所有数字,这些数字是10的倍数。 垂直轴应以类似方式表示。但是,它由一组更大的值组成: >> Oy = [1000:500:200000]; 如何绘制一组函数输出,以便以科学格式(2.6e+3或2.6*10^3)表示纵轴 我可以将函数绘制为: plot(x,fx,'-r'); 并向每个轴添加标签: xlab
>> Ox = [40:10:90];
水平轴应显示40和90之间的所有数字,这些数字是10的倍数。
垂直轴应以类似方式表示。但是,它由一组更大的值组成:
>> Oy = [1000:500:200000];
如何绘制一组函数输出,以便以科学格式(2.6e+3或2.6*10^3)表示纵轴
我可以将函数绘制为:
plot(x,fx,'-r');
并向每个轴添加标签:
xlabel('domain')
ylabel('codomain')
我找不到将垂直轴值表示为科学值的方法。对于大值,Matlab应以科学符号自动显示它们 否则,您可以像这样使用sprintf:
x = 1000:200:10000;
plot(x,x.^2)
XSci = 0:0.1e4:0.1e5;
YSci = 0:0.1e4:0.1e5;
set(gca,'XTickLabel',sprintf('%2.0e|',XSci));
set(gca,'YTickLabel',sprintf('%2.0e|',YSci));
哪个输出:
好吧,这可能不是最好的例子,但你看到了重点:)@Sebi嗨,Sebi,这就是你要找的吗?
x = 1000:200:10000;
plot(x,x.^2)
XSci = 0:0.1e4:0.1e5;
YSci = 0:0.1e4:0.1e5;
set(gca,'XTickLabel',sprintf('%2.0e|',XSci));
set(gca,'YTickLabel',sprintf('%2.0e|',YSci));