资源描述:
《05_MATLAB数理统计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2021年8月7日MATLAB和R软件1第五讲MATLAB数理统计2021年8月7日MATLAB和R软件2引言数理统计研究的对象是受随机因素影响的数据数据样本少则几个,多则成千上万,人们希望能用少数几个包含其最多相关信息的数值来体现数据样本总体的规律。面对一批数据如何进行描述与分析,需要掌握参数估计和假设检验这两个数理统计的最基本方法。我们将用MATLAB的统计工具箱(StatisticsToolbox)来实现数据的统计描述和分析。2021年8月7日MATLAB和R软件3频数表和直方图一组数据(样本)往往是杂乱无章的,作出它的频数表和直方图,可以看作是对这组数
2、据的一个初步整理和直观描述。将数据的取值范围划分为若干个区间,然后统计这组数据在每个区间中出现的次数,称为频数,由此得到一个频数表。以数据的取值为横坐标,频数为纵坐标,画出一个阶梯形的图,称为直方图,或频数分布图。若样本容量不大,能够手工作出频数表和直方图,当样本容量较大时则可以借助MATLAB这样的软件了。2021年8月7日MATLAB和R软件4例1学生的身高和体重学校随机抽取100名学生,测量他们的身高和体重,所得数据如表身高体重17275171621666216055155571735816655170631675317360身高体重1695516867
3、1686517567176641685016149169631716117864身高体重16964165521645917374172691695217357173611667016357身高体重17165169621705817264169581677217576164591666316954身高体重167471686516564168571765717057158511656217253169662021年8月7日MATLAB和R软件5数据输入两种方法一种是在交互环境中直接输入如果在统计中数据量比较大,这样作不太方便;另一种办法是先把数据写入一个纯文本数据
4、文件data.txt中,数据列之间用空格键或Tab键分割,该数据文件data.txt存放在matlabwork子目录下,在MATLAB中用load命令读入数据具体作法是:loaddata.txt这样在内存中建立了一个变量data,它是一个数据矩阵。2021年8月7日MATLAB和R软件6作频数表及直方图用hist命令实现,其用法是:[N,X]=hist(Y,M)数组(行、列均可)Y的频数表它将区间[min(Y),max(Y)]等分为M份(缺省时M设定为10),N返回M个小区间的频数,X返回M个小区间的中点。hist(Y,M)数组Y的直方图。2021年8月7日
5、MATLAB和R软件7例1的程序loaddata.txt;high=data(:,1:2:9);high=high(:);weight=data(:,2:2:10);weight=weight(:);[n1,x1]=hist(high)[n2,x2]=hist(weight)subplot(1,2,1)hist(high)subplot(1,2,2)hist(weight)2021年8月7日MATLAB和R软件8例2统计字符出现的频数统计下列五行字符串中字符a、g、c、t出现的频数1.aggcacggaaaaacgggaataacggaggaggacttggc
6、acggcattacacggagg2.cggaggacaaacgggatggcggtattggaggtggcggactgttcgggga3.gggacggatacggattctggccacggacggaaaggaggacacggcggacataca4.atggataacggaaacaaaccagacaaacttcggtagaaatacagaagctta5.cggctggcggacaacggactggcggattccaaaaacggaggaggcggacggaggc2021年8月7日MATLAB和R软件9例2的程序clcfid1=fopen('shuju.txt
7、','r');i=1;while(~feof(fid1))data=fgetl(fid1);a=length(find(data==97));b=length(find(data==99));c=length(find(data==103));d=length(find(data==116));e=length(find(data>=97&data<=122));f(i,:)=[abcdea+b+c+d];i=i+1;endfhe=[sum(f(:,1))sum(f(:,2))sum(f(:,3))sum(f(:,4))...sum(f(:,5))sum(f(
8、:,6))]fid2=fopen('p