⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 givens.m

📁 Givens transformation是向量的旋转变换。它可将被变换向量旋转成模与之相同的其它向量。其应用之一是QR分解。
💻 M
字号:
function [c,s,p] = givens(x)

% 本程序的功能是将二元列向量x的坐标平面旋转,使x(2)=0,即:
%   [c   s][x(1)] [r]
%   [-s  c][x(2)]=[0],    r = (x(1)^2 + x(2)^2)^0.5
%
% Data: 2/4/2008
% Version 1.0
% Copyright (C) 2008, Yang Chun
%
% 输入 - x 为二元列向量
% 输出 - c 为坐标平面逆时针旋转角度θ的余弦cos(θ)
%      - s 为坐标平面逆时针旋转角度θ的正弦sin(θ)

if x(2) == 0
    c = 1;
    s = 0;
else
    if abs(x(2))>abs(x(1))
        r = x(1)/x(2);
        s = 1/(1+r^2)^0.5;
        c = s*r;
    else
        r = x(2)/x(1);
        c = 1/(1+r^2)^0.5;
        s = c*r;
    end
end

% 计算Givens变换存储因子
if c == 0
    p = 1;
elseif abs(s) < abs(c)
    p = sign(c)*s/2;
else
    p = 2*sign(s)/c;
end

        


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -