我刚开始使用matlab,我正试图用它绘制一些图形。
问题是我不知道如何从10个plot()中获得平均数据。 任何人都可以指导我吗?谢谢 :)
答案 0 :(得分:1)
假设您无权访问用于绘制地块的原始数据:
plot_data = get(get(gca,'Children'),'YData'); % cell array of all "y" data of plots
average = mean(cell2mat(plot_data));
为了实现这一点,你必须在完成绘图之后立即使用这段代码,也就是说,不需要绘制任何其他图形(gca
是当前轴的句柄)。
答案 1 :(得分:0)
假设您的数据按行存储在m×n矩阵A
中,其中n列对应于连续错误的不同值,m行对应于不同的曲线。然后检查曲线上的平均值只需使用
Amean = mean(A,1);
plot(Amean)
答案 2 :(得分:0)
请查看此链接:它解决了我获取平均图的问题。 https://www.mathworks.com/matlabcentral/fileexchange/27134-plot-average-line 下载文件后,只需将这些脚本放在您的工作文件夹中,然后将此行添加到脚本中即可。
plotAverage(gca,[],'userobustmean',0)