MATLAB画离散数据的PDF

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值