等高线图中的LevelList

时间:2017-06-09 11:07:02

标签: matlab

我无法在文档或论坛中找到一些信息:

  • 我的Z有5个数量级,我怎样才能正确地绘制这些值? 0.002一直到100-ish
  • 是否可以指定此数量级而不是确切的数字?在LevelList中,我的意思是。例如。我想要一个10 ^ 2的等级,这可能意味着100或190,或131.34。

代码:

[C,h] = contour(beta,alpha,Coupling)

clabel(C,h)

axis([0 3 0 3])

1 个答案:

答案 0 :(得分:1)

假设您有一些随机数据

%    Data     Order of magnitude base 10
a = [0.0964   % O(1e-1)
     0.0157   % O(1e-2)
     0.0970   % O(1e-1)
     0.9571   % O(1e+0)
     0.4853   % O(1e+0) 
     0.8002   % O(1e+0)
     1.4188   % O(1e+0) 
     4.2176   % O(1e+1)
     9.1573]  % O(1e+1)

数量级由

给出
orders = round(log10(a));

您可以使用此公式z替换z2 = 10.^round(log10(z))值,以按其大小定义它们。然后像以前一样生成具有不同数量级的等高线图,但使用z2而不是z

对于您的示例:

CouplingMagnitudes = 10.^(round(log10(Coupling)));
[C,h] = contour(beta, alpha, CouplingMagnitudes)