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