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

130213012李文萍上机9

作者:李文萍   发布时间:2015-06-22 19:11:37   浏览次数:126

 

9:(书本97页)
function [v,q]=house(x,k,j)
n=length(x)   %计算矩阵x的长度
el=norm(x,inf);
x=x/el;
t=x(k:j)'*x(k:j);   
v=zeros(n,1); %%v为列向量
v(k-1)=1;                      
v(k:j)=x(k:j);             
if t==0
    q=0;
else
    r=sqrt((x(k-1:j))'*x(k-1:j));  
    if x(k-1)<=0
        v=zeros(n,1); 
        v(k-1)=x(k-1)-r;
    else
        v(k-1)=-t/(x(k-1)+r);
    end
    q=2*(v(k-1))^2/(t+(v(k-1))^2);
    v=v/v(k-1);
end
      test
clear all
x=[1,0,4,6,3,4]'
n=length(x);
I=eye(n);
k=5;
j=6;
[v,q]=house(x,k,j);
H=I-2*v*v'
H*x
结果:
x =
     1
     0
     4
     6
     3
     4
n =
 
     6
 
H =
 
    1.0000         0         0         0         0         0
         0    1.0000         0         0         0         0
         0         0    1.0000         0         0         0
         0         0         0   -1.0000    3.3145    4.4193
         0         0         0    3.3145   -4.4928   -7.3238
         0         0         0    4.4193   -7.3238   -8.7650
 
ans =
 
    1.0000
         0
    4.0000
   21.6205
 -22.8868
 -30.5157






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

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

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