function[avg] = DrawPDF_fromVector(v_data, segs, color_str)
% v_data: data vector
% segs: total number of segement between min(v_data) and max(v_data)
%color_str: plot parameters specifying color, linetype.
x_min = min(v_data);
x_max = max(v_data);
len = length(v_data);
step = (x_max - x_min)/ segs;
v_st_nd = zeros(1, segs+1);
for i = 1:segs+1
v_st_nd(i) = x_min + (i-1) * step;
end
v_mid = (v_st_nd(2:end) + v_st_nd(1: end - 1))/2;
v_count = zeros(1, segs);
for i = 1: len
seg_id = ceil( max(0, (v_data(i) - x_min ))/ step);
if seg_id ==0
seg_id = seg_id + 1;
end
seg_id = max(0, min(seg_id, segs));
v_count(seg_id) = v_count(seg_id) + 1;
end
avg = mean(v_data);
figure
plot(v_mid, v_count/len, color_str);
legend(['mean value = ', num2str(avg)]);
grid on;
end
MATLAB画离散数据的PDF
最新推荐文章于 2023-11-16 13:30:01 发布