投影矩阵与正交化向量的实现

因为我这里的帖子基本上是写给自己回忆的,所以原理公式什么的就没写出来了,想了解的同学可以去看网易公开课的线性代数关于投影和正交矩阵那几集

我这里给出来matlab代码,大家如果有题目要做,直接将相应的矩阵输入进去就行

function [ Xnew , Projection_Matrix] = ProJectin(Xold, Xbasis)
%Xold是要投影的列向量
%Xbasis是投影空间的一组基
%Projection_Matrix是求得的投影矩阵
%Xnew 是求得的正交化向量,也就是与投影空间正交的向量
%若给定一组向量[a1,a2,a3]=   M =[1,1,1;1,2,3;1,4,9] M开始是可以放入matlab代码中,前面是为了表述而写的
%要正交化a1 a2 a3;那么先将a1作为基,将a2作为投影向量输入,然后再将正交化后的a1 a2作为投影空间,a3作为投影向量输入得到如下矩阵
%M=[1,1,1;1,0,-1;1/3,-2/3;1/3];
    Projection_Matrix = (Xbasis)/(Xbasis'*Xbasis)*Xbasis';
    Xnew = Xold - Projection_Matrix*Xold;
end
原文地址:https://www.cnblogs.com/yican/p/4229585.html