特征多项式法Word格式文档下载.docx
《特征多项式法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《特征多项式法Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
%已知矩阵:
A
%求得的矩阵特征值:
l
symst;
N=size(A);
n=N(1,1);
y=det(A-t*eye(n,n));
l=solve(y);
l=vpa(l,5);
%结果取五位精度
例题:
采用特征多项式法,求矩阵A的特征值
A=
解:
在MATLAB窗口输入:
>
A=[1158;
-5610;
-234]
l=Chapoly(A)
输出计算结果为:
流程图为:
2、幂法
在MATLAB中编程实现的幂法的函数为:
pmethod。
幂法求矩阵的主特征值及主特征向量。
[l,v,s]=pmethod(A,x0,eps)
x0为迭代初始向量;
eps为迭代的精度;
l为求得的矩阵主特征值;
v为求得的矩阵主特征向量;
s为迭代步数。
function[l,v,s]=pmethod(A,x0,eps)
%幂法求矩阵的主特征值及主特征向量
%迭代初始向量:
x0
%迭代的精度:
eps
%求得的矩阵主特征向量:
v
%迭代步数:
s
Ifnargin==2
eps=1.0e-6;
end
v=x0;
%v为主特征向量
M=5000;
%迭代步数限制
m=0;
l=0;
for(k=1:
M)
y=A*v;
m=max(y);
%m为按模最大的分量
v=y/m;
if(abs(m-1)<
eps)
l=m;
%到所需精度,退出,l为主特征值
s=k;
%s为迭代步数
return;
else
if(k==m)
disp(‘迭代步数太多,收敛速度太慢!
’);
s=m;
l=m;
end
幂法求取特征值实例:
采用幂法求矩阵A的主特征值和主特征向量。
A=[152;
6-17;
131];
x0=[111]’;
[l,v,s]=pmethod(A,x0)
第2题
1.因为体积一栏的数据是以粒度为变量的概率密度函数,所以先画出以粒度为自变量,体积为因变量的条形图,从图可以看出,它们之间可能服从指数分布形式,因此给出指数分布的函数形式F(X)=1-exp(-x/a),因为是指数形式,所以用非线性拟合得到a的值为8.1451,并画出拟合图形,跟用原始数据画出的图形类似,并求出了置信度为95%的图形区间。
M文件如下:
x=[00.10.20.51.01.52.02.53.04.05.06.08.010.015.0];
y=[0
0.0114517
0.0249242
0.0710677
0.1316940
0.1754800
0.1923210
0.2297070
0.2317280
0.3583700
0.3853150
0.3950830
0.6645340
0.8342880
1.0000000
];
y=y'
;
bar(x,y);
%大致判断服从什么分布
beta0=0.1;
[betarj]=nlinfit(x,y,@funex,beta0);
Beta
ci=nlparci(beta,r,j)
nlintool(x,y,@funex,beta0,0.05,'
粒度x,体积y'
)
其中funex为构建的可能的函数形式
运行结果如下:
beta=
8.1451
流程图如下:
2直接用复化梯形公式计算积分,对h分别取0.1和0.2和0.4
对于不同的h值我们用switch开关语句来运行。
M文件入下:
x=[0.00.10.20.30.40.50.60.70.8];
y=[02.12203.02443.25683.13992.85792.51402.16391.8358];
h=input('
请输入h的值,h为0.1或0.2或0.4'
);
switchh
case0.4
s=h/2*(y
(1)+2*y(5)+y(9));
case0.2
s=h/2*(y
(1)+2*(y(3)+y(5)+y(7))+y(9));
case0.1
s=h/2*(y
(1)+2*(y
(2)+y(3)+y(4)+y(5)+y(6)+y(7)+y(8))+y(9));
otherwise
disp('
输入的h有误'
a.h=0.1的时候s=1.9997
b.h=0.2的时候s=1.9192
c.h=0.4的时候s=1.6231