现在时间是:
当前位置:首 页 >> 矩阵计算>> 教学区>> 文章列表

130213017龙艳红作业9

作者:   发布时间:2015-06-17 20:50:16   浏览次数:219

 1、题目:设X=1,0,4,6,3,4)’求一个householder变换和一个正数a,使得Hx=(1,a,,4,6,0,0)’

1)程序:

题目程序:

clear all

%x=(1,0,4,6,3,4),to find a householder change and a 'a'to make the Hx=(1,a,4,6,0,0);

%beacause norm(x,2)=norm(Hx,2),so a=5;

x=[1;0;4;6;3;4];

n=length(x);

a=sqrt(x(1:n)'*x(1:n)-x(1:4)'*x(1:4))

y=[1,5,4,6,0,0]';%make y=Hx;

v=x-y;

w=v/norm(v,2);

I=eye(n);

H=I-2*w*w'

H*x

 

 

2)结果:a =5

H =

    1.0000         0         0         0         0         0

         0    0.0000         0         0    0.6000    0.8000

         0         0    1.0000         0         0         0

         0         0         0    1.0000         0         0

         0    0.6000         0         0    0.6400   -0.4800

         0    0.8000         0         0   -0.4800    0.3600

ans =

     1

     5

     4

     6

     0

     0

household程序:

function [v,B]=house2(x,k,j)

n=length(x);

t=norm(x,inf);

x=x/t;

sigma=x(k:j)'*x(k:j);

v=zeros(n,1);

v(k:j)=x(k:j);

if sigma==0

    B=0;

else

    af=sqrt(x(k-1:j)'*x(k-1:j));

    if x(k-1)<=0

        v(k-1)=x(k-1)-af;

    else

        v(k-1)=-sigma/(x(k-1)+af);

    end

    B=2*v(k-1)*v(k-1)/(sigma+v(k-1)*v(k-1));

    v=v/v(k-1);

end

…………………………………………………………………………………………

clear all

x=[1;0;4;6;3;4];

k=5;j=6;%使得x的第K到第J个元素变成0;

[v,B]=house2(x,k,j)

I=eye(6);

H=I-B*v*v'

H*x







上一篇:没有了    下一篇:没有了

Copyright ©2018    计算数学达人 All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 版权所有 © 2005-2018 lingw.net.粤ICP备16125321号 -5