我有一组来自函数的输出。我如何绘制它们以便域从某个值开始,并在每个特定步骤显示一个值。例如:
>> Ox = [40:10:90];
水平轴应显示40到90之间的所有数字,它们是10的倍数。 纵轴应该类似地表示。但是,它由一组更大的值组成:
>> Oy = [1000:500:200000];
如何绘制一组函数输出,以便垂直轴以科学格式表示(2.6e + 3或2.6 * 10 ^ 3)。
^
2.6 * 10 ^3 |
|
|
| *
| *
| * *
| * *
|
+-------------------------------->
40 50 60 70 80 90
我可以将函数绘制为:
plot(x,fx,'-r');
并为每个轴添加标签:
xlabel('domain')
ylabel('codomain')
我找不到将垂直轴值表示为科学值的方法。
答案 0 :(得分:1)
对于较大的值,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));
输出:
好吧这可能不是最好的例子,但你明白了这一点:)