- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab上机作业报告(计算初等反射阵,用Householder变换法对矩阵A作正交分解,连续函数最佳平方逼近等)
一、给定向量x≠0,计算初等反射阵Hk。
1.程序功能:
给定向量x≠0,计算初等反射阵Hk。
2.基本原理:
若的分量不全为零,则由
确定的镜面反射阵H使得;当时,由
有
算法:
(1)输入x,若x为零向量,则报错
(2)将x规范化,
如果M=0,则报错同时转出停机
否则
(3)计算,如果,则
(4)
(5)计算
(6)
(7)
(8)按要求输出,结束
3.变量说明:
x - 输入的n维向量;
n - n维向量x的维数;
M - M是向量x的无穷范数,即x中绝对值最大的一项的绝对值;
p - Householder初等变换阵的系数ρ;
u - Householder初等变换阵的向量U
s - 向量x的二范数;
x - 输入的n维向量;
n - n维向量x的维数;
p - Householder初等变换阵的系数ρ;
u - Householder初等变换阵的向量U
k - 数k,H*x=y,使得y的第k+1项到最后项全为零;
4.程序代码:
(1)
function [p,u]=holder2(x)
%HOLDER2 给定向量x≠0,计算Householder初等变换阵的p,u
%程序功能:函数holder2给定向量x≠0,计算Householder初等变换阵的p,u;
%输入:n维向量x;
%输出:[p,u]。p是Householder初等变换阵的系数ρ,
% u是Householder初等变换阵的向量U。
n=length(x); % 得到n维向量x的维数;
p=1;u=0; % 初始化p,u;
M=max(abs(x)); % 得到向量x的无穷范数,即x中绝对值最大的一项的绝对值;
if M==0 % 如果x=0,提示出错,程序终止;
disp(Error: M=0);
return;
else
x=x/M; % 规范化
end;
s=norm(x); % 求x的二范数
if x(1)0 % 首项为负,s值要变号
s=-s;
end
u=x; % 除首项外,其余各项x,u相同
u(1)=s+x(1); % 计算u的首项
p=s*u(1); % 计算p
if n==1 u=0; end % 若x是1×1维向量,则u=0
(2)
function H=holderk(x,k)
%HOLDERK 给定向量x≠0,数k,计算初等反射阵Hk,使HkX=Y,其中Y的第k+1项到最后项全为零;
%程序功能:函数holderk给定向量x≠0,数k,计算初等反射阵Hk,使HkX=Y,%程序功能:函数holder2给定向量x≠0,计算Householder初等变换阵的p,u;
%输入:n维向量x,数k;
%输出:H。H是Householder初等变换阵,H*x=y,使得y的第k+1项到最后项全为零;
%引用函数:holder2;
n=length(x); % 得到n维向量x的维数;
if kn %如果k值溢出,报错;
disp(Error: kn);
end
H=eye(n); % 初始化H,并使H(1:k,1:k)=I;
[p,u]=holder2(x(k:n)); % 得到计算Householde初等变换阵的系数ρ、向量U;
H(k:n,k:n)=eye(n-k+1)-p\u*u; % 计算H(k:n,k:n)=I-p\u*u;
5.使用示例:
情形1:
X为零向量
x=[0,0,0,0];
H=holderk(x,1)
Error: M=0
H =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
情形2:
K值溢出:
x=[1,2,3,4];
H=holderk(x,5)
Error: kn
情形3:
K值为1:
x=[2,3,4,5];
H=holderk(x,1)
H =
-0.2722 -0.4082 -0.5443 -0.6804
-0.4082 0.8690 -0.1747 -0.2184
-0.5443 -0.1747 0.7671 -0.2911
-0.6804 -0.2184 -0.2911
文档评论(0)