社区官方群 QQ群:25166303(忙)  |  飞信群:4541042(空)  |  旺旺群:93237588(空)  |  优酷2009超新星大赛 |   扶持社团计划书(必看)  |    广告联系
发新话题
打印

用matlab算各区间的频数

用matlab算各区间的频数

function [B]=pinshu(A)
%用于计算数据在各个区间的频数,其中数据以矩阵的格式输入
%A是要输入的矩阵
%用法:pinshu(A)---A是数据的矩阵
%输出结果分别是各个区间的频数和区间的范围
%Lzl778
%2006.7.18
Nu=numel(A);
if Nu<8
    error('数据个数太少,最小的数据个数必须>=8')
end
Min=min(min(A));
Max=max(max(A));
K=ceil(sqrt(Nu));%取K个区间
D1=floor(Min);
Dn=ceil(Max);
JJ=(Dn-D1)/K;%区间的间距
for i=1:K
    if i==1
        D(i)=D1;
        U(i)=D1;
    end
    if (U(i)<Max)
        U(i+1)=U(i)+JJ;
    end
    if i~=K
    Geshu(i)=numel(find(U(i)<=A&A<U(i+1)));
    else
    Geshu(i)=numel(find(U(i)<=A&A<=U(i+1)))  
    end
   Geshu;  
end
  K %区间的个数
  U  %各个区间的范围
hist(A,K);%画数据的直方图
hold on
axis on
axis tight;%把数据范围直接设为坐标范围
title('以区间个数为数据个数的平方根的直方图');
xlabel('采样距离');
ylabel('观测数据x的值');
hold off
学习,考研,一切皆有可能!!!

TOP

发新话题

网站web安全
检测认证
公共信息网络
安全备案
电子公告服务
备案网站
信息网络安全
报警服务
网络不良信息
举报中心