2

所以我有这张图,上面有在matlab中创建的这两个高斯

在此处输入图像描述

该图是使用以下 matlab 代码创建的

TimeTakenWDriver = textread('TimeTakenWDriver.txt');
TimeTakenWODriver = textread('TimeTakenWODriver.txt');
fig1 = figure;

h1 = histfit(TimeTakenWDriver);
std1 = std(TimeTakenWDriver);
std2 = std(TimeTakenWODriver);
mean1 = mean(TimeTakenWDriver)
mean2 = mean(TimeTakenWODriver)
delete(h1(1));
set(h1(2),'color','b');
hold on;
h2 = histfit(TimeTakenWODriver);
delete(h2(1));
set(h2(2),'color','r');

现在我想找到与这两个相对应的两个 y 坐标,这意味着我搜索了周围的“两个顶点”,但由于我创建图表的方式,我无法找到任何可行的解决方案。有任何想法吗?

4

1 回答 1

1

您可以尝试直接从图中获取数据:

C = get(get(gca, 'Children'), 'YData');

然后使用以下方法找到峰值max

max(C(:))

请注意,如果您在同一轴上有两个或多个图(如您的示例中所示),C则将是一个单元格数组,因此您需要分别访问每个单元格以获取峰值:

cellfun(@(x)max(x(:)), C)
于 2012-12-13T12:36:26.683 回答