我不知道这是否是我的问题的确切位置,但据我了解FAQ正确,可以从一种特定语言提出有关特定软件算法的问题。Matlab中自动轮廓线的高度
我有几个2D矩阵(含有NaN的),用于我想要绘制一个异/轮廓线在Matlab的。为此,我使用实施轮廓()函数以下列方式,在Matlab的自动选择等高线的水平,只说明我想要显示的级别数:
Contourline=contour(MyData,1);
结果看起来很不错,但我现在想知道如何选择我的轮廓线的确切高度,并且如果高度在不同的矩阵之间是可比较的,那么它们的含义总是在例如最大值的50%?
contour()函数还允许手动设置轮廓线的高度。这样做(通过将高度设置为矩阵中的最大值的x%),结果看起来不是拟合作为来自自动方法的结果(不管我选择的'x'的值如何)。
谢谢!
编辑:
我的问题的目的是在当等级的数量设置为1,这将产生非常好的结果我的数据,这意味着功能的轮廓()函数实现的基本算法画一条线(或更高,如果高度相同)哪些有点捕捉我的数据分布(Image)。如果我尝试手动设置高度contour(myData,[X X])
这可行,但不适用于所有我的矩阵,与自动模式相反,当我仅指定级别数contour(myData,1)
时。所以我对这些结果很满意,但是如果有人问我如何分析我的数据,我想给他们一个更具数学意义的答案,而不仅仅是:“我在这个程序中选择了这个功能”。
一般来说:
我想知道这个高度是如何选择用于自动模式,并且如果有可能是在代码的一部分,这使得它不希望为不同的矩阵的轮廓线进行比较。 documentation只说明高度是自动设置的,但不完全如此。
感谢您的及时回复。我已经尝试手动设置高度(请参阅我的问题的第二部分),但我的问题是针对contour()函数的基础算法而不是实现(对不起,如果我的原始问题不够清楚)。我会编辑我原来的帖子,使其更清楚我的问题是什么。 –
@ C.B。添加了一个更新部分,显示了MATLAB如何自动选择关卡。 – Suever