⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.txt

📁 在处理数据的时候我们经常要算各个区间的频数,但是在matlab中没有这样的命令.当数据比较大的时候自己数就比较麻烦,这里编了个小程序,
💻 TXT
字号:
在处理数据的时候我们经常要算各个区间的频数,但是在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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -