Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何在垂直轴上强制使用科学符号?_Matlab_Function_Plot - Fatal编程技术网

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));