图 4.3-2 均值两侧一、二、三倍标准差之间的概率
三 各种概率分布的交互式观察界面
【例4.3-3】概率分布交互界面使用方法介绍。
图4.3-3 概率分布交互界面
4.3.2 随机数发生器和 统计分析指令
【例4.3-4】随机数据的统计量。
randn('state',0) A=randn(1000,4); AMAX=max(A) AMIN=min(A) CM=mean(A)
16
MA=mean(mean(A)) S=std(A) var(A)-S.^2 C=cov(A)
diag(C)'-var(A) p=corrcoef(A) AMAX =
2.7316 3.2025 3.4128 3.0868 AMIN =
-2.6442 -3.0737 -3.5027 -3.0461 CM =
-0.0431 0.0455 0.0177 0.0263 MA =
0.0116 S =
0.9435 1.0313 1.0248 0.9913 ans =
1.0e-015 *
0 -0.2220 0 0 C =
0.8902 -0.0528 0.0462 0.0078 -0.0528 1.0635 0.0025 0.0408 0.0462 0.0025 1.0502 -0.0150 0.0078 0.0408 -0.0150 0.9826 ans =
0 0 0 0 p =
1.0000 -0.0543 0.0478 0.0083 -0.0543 1.0000 0.0024 0.0399 0.0478 0.0024 1.0000 -0.0147 0.0083 0.0399 -0.0147 1.0000
【例4.3-5】产生1000 个服从N(2,0.52)的随机数。
mu=2;s=0.5;
randn('state',22) x=randn(1000,1); y=s*x+mu; z=s*(x+mu);
subplot(3,1,1),histfit(x),axis([-5,5,0,100]),ylabel('x') subplot(3,1,2),histfit(y),axis([-5,5,0,100]),ylabel('y') subplot(3,1,3),histfit(z),axis([-5,5,0,100]),ylabel('z')
图 4.3-4 均值为2标准差为0.5的随机数样本 z
17
4.4
多项式运算和卷积
4.4.1 多项式的运算函数 一 多项式表达方式的约定 二
多项式运算函数
【例4.4-1】求(s2?2)(s?4)(s?1)s3?s?1的“商”及“余”多项式。 (1)
format rat
p1=conv([1,0,2],conv([1,4],[1,1])); p2=[1 0 1 1]; [q,r]=deconv(p1,p2);
cq='商多项式为 '; cr='余多项式为 ';
disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')]) 商多项式为 s + 5
余多项式为 5 s^2 + 4 s + 3
(2)
qp2=conv(q,p2); pp1=qp2+r;
pp1==p1 ans =
1 1 1 1 1
【例 4.4-2】矩阵和特征多项式,特征值和多项式根。 (1)
A=[11 12 13;14 15 16;17 18 19]; PA=poly(A) PPA=poly2str(PA,'s') PA =
1.0000 -45.0000 -18.0000 0.0000 PPA =
s^3 - 45 s^2 - 18 s + 1.8303e-014
(2)
s=eig(A)
r=roots(PA) s =
45.3965 -0.3965 0.0000 r =
45.3965 -0.3965 0.0000
(3)
n = length(PA);
AA = diag(ones(1,n-2,class(PA)),-1); AA(1,:) = -PA(2:n)/ PA(1);
18
AA
sr = eig(AA) AA =
45.0000 18.0000 -0.0000 1.0000 0 0 0 1.0000 0 sr =
45.3965 -0.3965 0.0000
【例 4.4-3】构造指定特征根的多项式。
R=[-0.5,-0.3+0.4*i,-0.3-0.4*i]; P=poly(R) PR=real(P) PPR=poly2str(PR,'x') P =
1.0000 1.1000 0.5500 0.1250 PR =
1.0000 1.1000 0.5500 0.1250 PPR =
x^3 + 1.1 x^2 + 0.55 x + 0.125
【例 4.4-4】多项式求值指令polyval与polyvalm的本质差别。 (1)
clear
p=[1,2,3]; poly2str(p,'x') X=[1,2;3,4] ans =
x^2 + 2 x + 3 X =
1 2 3 4
(2)
va=X.^2+2*X+3 Va=polyval(p,X) va =
6 11 18 27 Va =
6 11 18 27
(3)
vm=X^2+2*X+3*eye(2) Vm=polyvalm(p,X) vm =
12 14 21 33 Vm =
12 14
21 33
(4)
cp=poly(X); poly2str(cp,'x')
cpXa=polyval(cp,X)
19
cpX=polyvalm(cp,X) ans =
x^2 - 5 x - 2 cpXa =
-6 -8 -8 -6 cpX =
1.0e-015 *
0.2220 0 0 0.2220
4.4.2 一
多项式拟合和最小二乘法 多项式拟合
【例 4.4-5】 给定数据组x0 , y0 ,求拟合三阶多项式,并图示拟合情况。(见图4.4-1)
x0=0:0.1:1;
y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];
n=3;
P=polyfit(x0,y0,n)
xx=0:0.01:1;
yy=polyval(P,xx);
plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20)
legend('拟合曲线','原始数据','Location','SouthEast') xlabel('x') P =
56.6915 -87.1174 40.0070 -0.9043
图 4.4-1 采用三阶多项式所得的拟合曲线
二 最小二乘问题
20