特征多项式法.docx
- 文档编号:7384596
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:12
- 大小:484.11KB
特征多项式法.docx
《特征多项式法.docx》由会员分享,可在线阅读,更多相关《特征多项式法.docx(12页珍藏版)》请在冰豆网上搜索。
特征多项式法
《MATLAB程序设计实践》课程考核
1、特征多项式法
算法说明:
在MATLAB中编程实现的特征多项式法的函数为:
chapoly。
功能:
通过求矩阵特征多项式的根来求其特征值。
调用格式:
l=chapoly(A)
其中,A为已知矩阵;
L为求得的矩阵特征值。
Matlab程序代码
functionl=Chapoly(A)
%特征多项式法求矩阵特征值
%已知矩阵:
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)
其中,A为已知矩阵;
x0为迭代初始向量;
eps为迭代的精度;
l为求得的矩阵主特征值;
v为求得的矩阵主特征向量;
s为迭代步数。
Matlab程序代码
function[l,v,s]=pmethod(A,x0,eps)
%幂法求矩阵的主特征值及主特征向量
%已知矩阵:
A
%迭代初始向量:
x0
%迭代的精度:
eps
%求得的矩阵特征值:
l
%求得的矩阵主特征向量:
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) l=m;%到所需精度,退出,l为主特征值 s=k;%s为迭代步数 return; else if(k==m) disp(‘迭代步数太多,收敛速度太慢! ’); l=m; s=m; else l=m; end end end 例题: 幂法求取特征值实例: 采用幂法求矩阵A的主特征值和主特征向量。 A= 解: 在MATLAB窗口输入: >>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有误'); end s 流程图如下: a.h=0.1的时候s=1.9997 b.h=0.2的时候s=1.9192 c.h=0.4的时候s=1.6231
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 特征 多项式