第2个回答 2018-07-25
第一题 变量数列和直方图
%求频数
f=fopen('1.txt')
x=textscan(f,'%s',8)
title=x{1}'
t=textscan(f,'%s %f %f %f %f %f %f %f','Delimiter','\t')
y=[50:10:100]
y=y'
z=t{:,7}
zz=histcounts(z,y)
%求频数 方法2
f=readtable('1.txt','Delimiter','\t');
y=[50:10:100];
y=y';
t=f{:,7};
z=histcounts(t,y)
%画图
ff=load('1.2.txt');
yy=[50:10:100];
histogram(ff,yy);
ax=gca;
ax.YLim=[0 40];
ax.XLabel.String='分组';
ax.YLabel.String='频数';
第二题 分类汇总
%第2题
f=readtable('2.txt','Delimiter','\t')
grpstats(f,{'class','gender'},{'mean','std','max','min'})
第三题 描述统计
一
n=readtable('3.1.txt','Delimiter','\t')
x=n{:,1}
f=n{:,2}
xbar=sum(x.*f)/sum(f)
s=sqrt(sum(((x-xbar).^2).*f)/sum(f))
二
n=load('3.2.txt')
x=n(:,1)
f=n(:,2)
xbar=sum(x.*f)/sum(f)
s=sqrt(sum(((x-xbar).^2).*f)/sum(f))
第四题 柱形图+折线图
f=readtable('4.txt','Delimiter','\t')
x=f{:,1}
y=f{:,2}
bar(y,0.9)
ax=gca
ax.XTickLabel={'服务器','会议室空调','办公室窗帘','多媒体设备','家具改造'}
ax.XLabel.String='项目'
ax.YLim=[0 140000]
ax.YTick=[0:10000:140000]
ax.YLabel.String='金额'
ax.Title.String='设备金额'
hold on
xx=[1:1:5]
plot(xx,y,'red')
hold on
scatter(xx,y,'blue')
第五题 画函数画圆
x=[-3:0.01:3]
x=x'
y1=x.^2
plot(x,y1,'blue')
ax=gca
ax.XLim=[-3 3]
ax.YLim=[-3 3]
ax.XLabel.String='x'
ax.YLabel.String='y'
ax.XLabel.Position=[0,-3.5,0]
text(1.5,1,'y=x^2')
text(1.5,-2,'x^2+y^2=9')
hold on
y2=sqrt(9-x.^2)
plot(x,y2,'green')
hold on
y3=-sqrt(9-x.^2)
plot(x,y3,'green')
第六题 分布画图
ezplot('pdf(''t'',t,24)',[-3,3])
ax=gca
td=[-2:0.01:1]
yd=pdf('t',td,24)
td=[-2 td 1]
yd=[0 yd 0]
p=patch('XData',td,'YData',yd,'FaceColor',[0 0 1])
ax.YLim=[0 0.4]
第七题 回归分析
f=readtable('e7.txt','Delimiter','\t')
y=f{:,2}
x=[1:1:48]
x=x'
logy=log(y)
data=[x,logy]
data=array2table(data)
e1=fitlm(data,'linear','ResponseVar','data2')
b=e1.Coefficients.Estimate
logb0=b(1)
logb1=b(2)
b0=exp(logb0)
b1=exp(logb1)
%故方程为 Y=367.45*1.0305^t
第九题 矩阵引用
data=readtable('8.txt','Delimiter','\t')
data1=table2array(data) %必须将table转变成元胞数组才能进行筛选
data1(:,3)==1
y=data1(data1(:,3)==1,:) %然后将type=1的记录筛选出来,放到另外一个矩阵中。
data1(:,4:7)=0 % 将某几列的数值全部改成0
data1(:,4)=[] %删除某一列