内容:绘制误差分布直方图,并在每个直方图上方显示对应数字。此外,返回一个数据表,该表是真实值、估计值、相对误差的统计。
代码连接:http://download.csdn.net/download/ckzhb/10229949
function [table_final] = barPlot(y_real,y_estimation)
% 统计分数score
% 绘制误差分布直方图
% Para:
% 输入均为列向量;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% 绘制误差分布直方图 %%%%%%%%%%%%%%%%%%%%%%%%%%%
error = y_estimation - y_real;
table_final = table(y_real,y_estimation,error,100*error./y_real,...
'VariableNames',{'real','estimation','error','relative_error'});
figure;
[errorNum,xaxis] = hist(error,[-60:10:60]);
bar(xaxis,errorNum)
for i = 1:length(xaxis)
text(xaxis(i),errorNum(i),num2str(errorNum(i),'%g'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end
xlabel('误差值');
ylabel('数量');
title('RUL误差分布直方图');
grid on;
end
结果:
1、table 构建一个数据表。
2、hist根据指定的区间(第二个参数)对数据(第一个参数)进行统计。
第一个返回值是频数统计,第二个返回值是区间即X轴。
3、bar命令绘制直方图。
4、for循环用于在每个直方图上方显示对应频数。