matlab实现qr分解

    技术2026-01-27  9

    二维平面的qr分解

    设列向量 v 1 = [ − 1 2 ] , v 2 = [ 6 8 ] v_1=\begin{bmatrix} -1\\ 2 \end{bmatrix},v_2=\begin{bmatrix} 6\\ 8 \end{bmatrix} v1=[12],v2=[68]组成向量组 A = [ − 1 6 2 8 ] A=\begin{bmatrix} -1&6\\ 2&8 \end{bmatrix} A=[1268] Q T Q = I 2 Q^TQ=I_2 QTQ=I2 Q Q Q向量第一列和第二列是长度为1的单位向量,代表了新建立的坐标系,以 v 1 v_1 v1为x轴,取与 v 1 v_1 v1垂直的向量为y轴,R是向量 v 1 , v 2 v_1,v_2 v1,v2 在新坐标轴下的坐标值。第一列只有一个元素,说明新坐标轴是以 v 1 v_1 v1 为方向 format rat v1 = [-1;2]; v2 = [6;8]; A = [v1 v2]; [Q,R] = qr(A);

    实例:测量n点是否在一条直线上

    对施密特正交系生成方法做了改进形成QR正交分解,调用matlab程序qrQ是规范化的坐标系首先将坐标原点定位最后一点,可以看出经过分解后坐标相差很小,可以近似认为在一条直线上 L = [-2 -1 0 2;3 2.3 1.7 0.33]; M = L - [2;0.33] * [1 1 1 1]; [Q1,R1] = qr(M);

    三维坐标

    v1 = [9,-5,2]; v2 = [0,7,5]; v3 = [-1,-9,6]; v4 = [2,5,-3]; A = [v1',v2',v3',v4']; [Q,R] = qr(A);

    Q是规范化的三维正交坐标系,R中第一列向量只有一个元素,说明新坐标系x轴取得方向是v1。R中的第二列向量最后一个元素为0,说明在v3上没有值,其处在v1和v2张成的平面上。
    Processed: 0.013, SQL: 9