实验一
现在将这学期所做数理统计相关实验进行上传分享,以便大家参考,哪里有写的不对的地方,欢迎大家指正。
1.问题描述:
将A,B,C三个字母之一输入信道,输出为原字母的概率为α,而输出为其他字母的概率都是(1-α)/2。现输入ABCA,求输出所有情况以及其概率,概率α可自行赋值。
2.程序代码
prompt={"Please enter the probability of the original letter output"};
title= 'Input';
result = inputdlg(prompt,title);
t = str2num(char(result)); %conversion of input results
for n=65:67
if (n==65)
Pn = t;
else
Pn = 1-t;
end
for i=65:67
if (i==66)
Pi=t;
else
Pi = 1-t;
end
for j=65:67
if (j==67)
Pj= t;
else
Pj=1-t;
end
for k=65:67
if (k==65)
Pk= t;
else
Pk=1-t;
end
B = char(i);
p=[n B j k]; %calculate probability
P= Pn*Pi*Pj*Pk;
stats = sprintf('Probability is = %.4f',P); %output probability
fprintf('%c ',p); %output result
fprintf(' ');
disp(stats)
end
end
end
end
3.结果分析
我们对概率α赋值为1/3,从图1中我们可以很直观的得到所有的输出结果以及输出该结果的概率值。可以看出输出为ABCA的概率为0.0123。
实验二
1.问题描述
利用回归方程进行数据预测例题:为研究某一化学反应过程中温度对产品得率的影响,观测到数据如下表,求Y关于x的回归方程Y(x),进行有关检验。
2.程序代码
%the solution of regression problem
clc,clear;
x1=[100:10:190]';
y=[45 51 54 61 66 70 74 78 85 89]';
figure(1)
plot(x1,y,'*') %draw a data scatter plot
hold on
x=[ones(10,1),x1];
[b,bint,r,rint,stats]=regress(y,x); %draw fitting graph
x2=[100:190];
plot(x2,b(1)+b(2)*x2) %draw fitting graph
xlabel('x');
ylabel('y');
figure(2)
rcoplot(r,rint) %draw residual plot
A = sprintf('Slope(a) = %.4f.',b(2));
B = sprintf('intercept(b) = %.4f.',b(1));
disp(A);
disp(B);
bint
stats1 = sprintf('R =%.4f.',stats(1));
stats3= sprintf('P =%.4f.',stats(3));
disp(stats1);
disp(stats3);
3.结果分析
从下图7中我们可以看出线性回归方程的斜率a为0.4830,截距为-2.7394,a的置信区间为 [-6.3056, 0.8268];b的置信区间为[ 0.4589 , 0.5072],R_2=1,p=0,说明回归效果显著。从图 8中,我们可以看出散点分布在一条直线附近,这与所求结论一致。
结语
仅供参考!