各章习地训练题目参考答案详解要.docx
《各章习地训练题目参考答案详解要.docx》由会员分享,可在线阅读,更多相关《各章习地训练题目参考答案详解要.docx(15页珍藏版)》请在冰豆网上搜索。
各章习地训练题目参考答案详解要
第二章
2.如何读取cell类型和struct类型数据中的值?
答:
cell型数据仍类似于矩阵,只不过矩阵中的每个元素可以是不同类型的数据。
而struct型数据由多个子域(field)构成一个结构体。
cell型数据的读取通过大括号{}和元素位置来读取,如A{1,1};而struct型数据的读取通过点符.结合域名来读取,如student.score。
4.在本章中没有介绍矩阵计算的相关内容,请在MATLAB的帮助中查找相关的函数,来对矩阵A进行如下的计算。
求A的逆矩阵
、特征根和特征向量、A的行列式、A的秩和A的迹,并判断A的对角线上元素和是否等于A的迹。
答:
求A的逆矩阵
:
A_inv=inv(A)
求A的特征根和特征向量:
[eigVeigR]=eig(A)注:
eigV是特征向量,eigR的对角元素是特征根。
求A的行列式:
A_det=det(A)
求A的秩:
A_rank=rank(A)求A的迹:
A_trace=trace(A)
A的对角线上元素和:
A_diagsum=sum(diag(A))注:
应等于A的迹
5.利用MATLAB的帮助,完成对矩阵A的下列操作。
(1)将矩阵A转换为10×2的矩阵。
答:
B=reshape(A,10,2)
(2)将矩阵A上下翻转后形成新的矩阵B。
答:
B=flipud(A)
(3)将矩阵A左右翻转。
答:
B=fliplr(A)
(4)提取A的主对角线上的元素。
答:
V=diag(A)
(5)将A的第2行至第3行和第2列至第5列构成的子矩阵赋值为-1。
答:
A(2:
3,2:
5)=-1
(6)将A的第2行至第3行部分作为元素复制为5×2的矩阵C,C的维数是多少?
答:
C=repmat(A(2:
3,:
),5,2),size(C)
C的维数为10×10。
6.请分别绘制
和
的三维图和等高线。
>>x=-5:
0.5:
5;
>>[xx,yy]=meshgrid(x);
>>Z1=xx.*yy;
>>Z2=sin(Z1);
>>figure,surfc(xx,yy,Z1),title(‘xywithcontour’) ;
>>figure,surfc(xx,yy,Z2),title(‘sin(xy)withcontour’) ;
>>figure,contour(xx,yy,Z2),title(‘contourofsin(xy)’) ;
7.下面给出一个迭代模型。
写出求解该模型的M-函数。
如果迭代初始值为
,计算k=0∶1∶300的迭代过程,分别绘制x的变化曲线和y的变化曲线,并在二维平面上绘制点(x,y)的运行轨迹。
答:
%%%assignment2-7
clear;
closeall;
clc;
x
(1)=0;
y
(1)=0;
fork=1:
300
x(k+1)=1+y(k)-1.4*x(k)^2;
y(k+1)=0.3*x(k);
end
figure,plot([1:
length(x)],x),title('xwithk')
figure,plot([1:
length(y)],y),title('ywithk')
figure,plot(x,y,'o-.'),title('trajectory')
第三章
1.画出医学上常用的正态分布曲线,并确定其极值点。
%%%assign31.m
clear;
closeall;
mu=0;
sigma=1;
x=-5:
0.1:
5;
y=1./(sqrt(2*pi)*sigma)*exp(-(x-mu).^2/(2*sigma^2));
%%%y=normpdf(x,mu,sigma);%%%也可直接调用正态分布函数计算
figure,plot(x,y)
title('正态分布曲线')
j=find(y==max(y));
xamx1=x(j)%%x极大值点
ymax=y(j)%%极大值
%%%方法2
figure,
fplot(@(x)1/(sqrt(2*pi)*sigma)*exp(-(x-mu)^2/(2*sigma^2)),[-5,5],'r-')
title('正态分布曲线')
[xmax2,ymaxval]=fminbnd(@(x)(-1)/(sqrt(2*pi)*sigma)*exp(-(x-mu)^2/(2*sigma^2)),-5,5);%%乘以-1变为求极小值
ymax2=-ymaxval;%%极大值
xmax2
ymax2
2.某年级甲班、乙班各有男生50人。
从两个班中各抽取10人测量身高,并求其平均身高。
如果甲班的平均身高大于乙班,能否推论甲班所有同学的平均身高大于乙班?
为什么?
答:
不能。
从甲、乙两班分别抽取10人其身高分别是甲、乙两班的一个样本。
该平均身高只是甲、乙两班所有同学平均身高的一个点估计值。
既使是按随机化原则进行抽样,由于存在抽样误差,样本均数与总体均数一般很难恰好相等。
因此,不能仅凭两个样本均数高低就作出两总体均数熟高熟低的判断,而应通过统计分析,进行统计推断,才能作出判断。
3.利用函数randn(1000,1)产生样本,试计算其均值、方差、中值、最大值和最小值。
为什么它的均值并不为零呢?
答:
>>randn(‘seed’,5);%%为重复检验,种子数选5
>>x=randn(1000,1);%%生成标准正态分布的一个样本,样本容量为1000
>>xmean=mean(x)%%均值
>>xvar=var(x)%%方差
>>xmen=median(x)%%中值
>>xmax=max(x)%%最大值
>>xmin=min(x)%%最小值
由样本计算得到的均值为0.046,这说明由样本得到的统计量只是对总体的一种估计,一般很难恰好相等。
4.假定5岁男童的体重服从正态分布,平均体重m=19.5(kg),标准差s=2.3(kg)。
随机抽查一5岁男童的体重,计算概率如下。
(1)其体重小于16.1kg;
(2)其体重大于22.9kg;(3)其体重在14.6kg到23.9kg之间。
答:
(1)
≈0.0697
对应matlab命令为:
>>normcdf(16.1,19.5,2.3)
(2)
≈0.0697
对应matlab命令为:
>>1-normcdf(22.9,19.5,2.3)
(3)
≈0.9556
对应matlab命令为:
>>normcdf(23.9,19.5,2.3)-normcdf(14.6,19.5,2.3)
5.简述可信区间在假设检验问题中的作用。
答:
可信区间可以回答差别是否有统计学意义。
可信区间需在预先规定的概率即检验水准a的前提下进行计算。
6.利用MATLAB,产生符合下列分布的数据样本X,样本大小为(1000,1)。
(1)
;
(2)
(均匀分布);
(3)
(指数分布)。
答:
(1)>>x=normrnd(10,sqrt(5),1000,1);
(2)>>x=unifrnd(1,5,1000,1);
(3)>>x=exprnd(3,1000,1);
7.有10例健康人和10例克山病人的血磷测定值(mg%)见表3-11,问克山病人的血磷是否高于健康人?
表3-11健康人与克山病人的血磷测定值(mg%)
健康人
170
155
140
115
235
125
130
145
105
145
患者
150
125
150
140
90
120
100
100
90
125
答:
此题为两组独立样本的t检验,参见例3.17,需首先判断是否符合应用条件,最终假设检验结果为不能拒绝H0,即不能认为两类人的均值有显著差异,因此不能说明克山病人的血磷高于健康人。
8.某单位研究代乳粉营养价值时,用大白鼠作实验,得到大白鼠进食量和增加体重的数据见表3-12。
表3-12八只大白鼠的进食量和体重增加量
进食量/g
800
780
720
867
690
787
934
750
增量/g
185
158
130
180
134
167
186
133
(1)此资料有无可疑的异常点?
(2)求直线回归方程并对回归系数作假设检验。
(3)试估计进食量为900g时,大白鼠的体重平均增加多少,计算其95%的可信区间,并说明其含义。
(4)求进食量为900g时,个体Y值的95%置信区间,并解释其意义。
答:
由原始数据的散点图可看出样本资料有直线趋势,如下图。
(1)回归系数假设检验:
H0:
β=0,即进食量与增重之间无直线关系
H1:
β≠0,即进食量与增重之间有直线关系
利用regress函数,得到b=[-47.353,0.261],其置信区间分别为[-173.627,78.921]和[0.102,0.42],对应的P值为0.007<0.05,说明拒绝H0,回归模型成立。
观查残差分布,可发现有不包含零点的异常点存在(第1号点,(800,185)),为提高回归模型的准确性,应将此异常点剔除后重新估计回归参数。
(2)删除异常点后重新进行回归分析并进行残差分析,可以看到残差分布无异常点。
对应的P值为0.0027<0.05,说明拒绝H0,回归模型成立。
回归方程为:
y=-46.298+0.255x,回归系数的95%置信区间分别为:
[-140.78,48.18]]和[0.136,0.375]。
回归曲线结果如图:
(3)当进食量为900g时,大白鼠的体重平均增加183.6g,其95%的可信区间为[170.935,196.265],表示当进食量为900g时,,相应的平均增重服从一个正态分布,由样本得到的均值估计值为183.6g,如果从此正态分布中重复抽样100次,这100个可信区间中理论上将有95个区间包含真正的总体均数。
(4)当进食量为900g时,个体Y值的95%置信区间为[154.048,213.153],表示在估计总体中,进食量为900g时,有95%的大白鼠增加体重在154.048~213.153g范围内。
详细程序代码见assign38.m
9.观测细菌繁殖过程,已知不同时刻细菌数目如下,试用Logistic曲线对其进行拟合:
t=[1,2,3,4,5,6,7,8]
Pop=[5.19,5.30,5.60,5.82,6.00,6.06,6.45,6.95]
注:
Logistic曲线的一般形式为
答:
从如下t~pop的散点图中可以看出,可用Logistic曲线进行拟合。
可利用nlinfit函数来确定拟合曲线的参数。
拟合结果为:
a=3467.9,b=702.6489,c=-0.0399。
详细程序代码见assign39.m
第四章
1.主成分分析的目的是什么?
答:
删除原有变量之间的冗余信息,达到数据降维的目的。
2.利用例4.3中的数据文件15boysdata,不要使用MATLAB的princomp函数进行主成分分析,而是自己编程采用对协方差矩阵进行特征根分解的方法进行主成分分析,比较二者的结果是否相同。
答:
二者结果相同(方向相反),自编程序如下(assign42.m):
load15boysdata;
%%%利用现成函数
[pc,SCORE,latent]=princomp(X);%%%主成分分析
%%%%自编代码
X0=X-repmat(mean(X),size(X,1),1);%%去均值
C=cov(X0);%%协方差阵
[eigV,eigR]=svd(C);%%%特征根和特征向量分解
mylatent=diag(eigR);
mypc=eigV;
myScore=X0*(mypc);
3.解释PCA中特征值、特征向量(载荷轴)、主成分得分的含义。
答:
在PCA中,特征值表征了数据在各个主成分方向上分布的方差大小;特征向量(载荷轴)表征了各个主成分的方向;主成分得分表征原数据(去均值后)在主成分方向上的投影。
4.表4-8为某学校20名学生肺活量与有关变量的测量结果,试对其进行多元回归分析,并仔细分析。
答:
参考【例4.1】,注意残差分析。
5.举例说明聚类分析和判别分析的联系和差异。
答:
聚类分析是判别分析的基础,没有已分好的类别就无法进行判别分析。
二者都希望能保证类内方差最小、类间方差最大。
聚类分析不需要学习过程,是无监督的;判别分析需要学习样本,是有监督的。
6.在采用K-均值聚类时,每次运行程序后的分类结果一定相同吗?
上机验证后回答,并解释原因。
答:
不一定。
因为每次初始的类别中心种子是随机生成的,所以分类结果不能保证每次都相同。
另外与选择什么样的距离度量也有关系。
7.利用例4.3中的数据文件15boysdata,任选其中的10个样本进行聚类分析,确定最佳类别,然后利用聚类结果对剩余的5个样本进行判别分析。
(思考是否可以用到主成分分析。
)
答:
本题中原来的样本含6个指标,可以先采用主成分分析进行降维处理,从各主成分的累积贡献率来看,前三个主成分已经包含了原始信息的95%,因此数据可降维到3个新的指标,计算原数据在这三个新方向上的投影(得分)后进行分层聚类,得到2、3、7、10四个样本为一类,另外四个为一类,获得类别样本后,对后五个待分类判别样本首先进行在主成分方向上投影后进行判别分析。
程序如下(assign47.m):
load15boysdata;
X1=X(1:
10,:
);
%%%选取主成分,实现降维
[pc,SCORE,latent]=princomp(X1);%%%主成分分析
pp=cumsum(latent)./sum(latent)%%累积贡献率
figure,plot(latent,'o-'),title('特征根变化')
%%%降维后分类
X2=SCORE(:
[1:
3]);
Y=pdist(X2,'mahalanobis');
Z=linkage(Y,'ward');
c=cophenet(Z,Y)
ge=cluster(Z,'maxclust',2);
figure,dendrogram(Z)
j1=find(ge==1);
j2=find(ge==2);
figure,plot3(X2(j1,1),X2(j1,2),X2(j1,3),'*',X2(j2,1),X2(j2,2),X2(j2,3),'o')
%%%判别分析
X3=X(11:
end,:
);
XX=(X3-repmat(mean(X3),5,1))*pc;
X4=XX(:
[1:
3]);
[class,err]=classify(X4,X2,ge)
%%%assign47.m
9.对例4.6,如何通过迭代尝试的方法来确定正确的分类数?
重新编写程序来完成正确的聚类。
答:
当采用k均值聚类时,可用silhouette函数的返回值来判断聚类的效果,总体上希望silhouette返回值里越接近于1表示分类越好,因此当采用不同的分类数里,可比较silhouette返回值的均值,如果在分类数递增的情况下,silhouette返回值的均值先增大再减小,那么极大值对应的分类数就是最佳的分类数。
主要代码段如下(详见assign49.m):
forN=2:
4
[idx,C,sumd,D]=kmeans(SamAll,N,'start','uniform','distance','sqeuclid','display','iter');
figure,
[silh,h]=silhouette(SamAll,idx,'sqeuclid');
ms(N-1)=mean(silh);
xlabel('SilhouetteValue')
ylabel('Cluster')
end
第五章
1.时间序列分析的目的是什么?
答:
(1)描述事物在过去时间的状态。
(2)分析事物发展变化的规律。
(3)对事物的发展变化趋势进行预测或施加控制。
2.时间序列通常可以用哪两种模型来表示?
答:
加法模型和乘法模型。
3.对于确定型时间序列,如何看待其中的不确定成分?
答:
确定型时间序列中的不确定成分是噪声,与确定成分没有任何相关性。
4.对于随机型时间序列,如何看待其中的确定成分?
答:
随机型时间序列中的确定成分是含有一定相关结构的白噪声线性组合。
5.对于平稳序列,简述进行AR建模的步骤。
答:
首先应确定AR模型的阶次,然后确定AR模型的参数。
6.利用MATLAB,用2阶MA模型产生一个随机序列,并对此序列进行AR模型建模,分析其预测效果。
答:
参考【例5.4】。
8.对于平稳随机序列建立ARMA模型时有哪两个核心问题要考虑?
答:
如何确定模型的阶次和参数。
9.用MATLAB产生两个方差均为1.5,但长度不同的零均值白噪声,并利用ARMA
(1,2)模型产生两个随机序列,其模型参数为a=[1,0.1],b=[1,0.2,-0.2],试问用长序列的估计效果好还是短序列的估计效果好?
为什么,并上机验证。
答:
长序列估计的效果好。
因为序列越长,样本的统计特征越接近于总体特征。
参考assign59.m。
10.生成一段时间序列,比较和学习MATLAB中各种功率谱估计方法。
答:
参考【例5.5】,时间序列生成可用filter函数。