博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【线性代数】正交投影
阅读量:5971 次
发布时间:2019-06-19

本文共 1041 字,大约阅读时间需要 3 分钟。

       我们在初中就应该学过投影。那么什么是投影呢?形象点说,就是将你须要投影的东西上的每一点向你要投影的平面作垂线,垂线与平面的交点的集合就是你的投影。

注意这里我们的投影是向量的投影,几何的投影(并不一定是垂直投影的)可见度娘百科。

相同的,我们从简单的二维投影来開始讨论。

   1、二维投影

上图表示的是,向量b在向量a上的投影。显然有例如以下表达式:

当中,P为投影矩阵,由P的表达式能够看出,它具有例如以下性质:

2、三维投影

       三维投影,就是将一个向量投影到一个平面上。同上面一样,如果是将b向量投影到平面上的p向量,则有表达式:
e是垂直与平面的向量。

因为p向量在平面上。则p向量能够由该平面的2个线性无关向量(正如。在xy平面的不论什么向量都能够由x轴,y轴表示)表示:

因为e垂直平面,则e向量垂直与平面中的随意向量。则有:

将上式化简求得x:

又由于p=Ax,Pb=p,则得到投影矩阵为:

由P的表达式能够看出,它具有例如以下性质:

上面的投影矩阵是通式。当投影在一维情况时,A即为直线上的随意一个向量a,投影矩阵为:

注意:一个数值的逆是它的倒数。

3、举例说明

以下以一个实例来说明:

如上图,如果我们要将向量b投影到水平面上。其投影为p,a1,a2为水平面的两个线性无关向量,它们的參数分别为:

那么A=[a1 a2]即:

由上面我们求得的通式,可得投影矩阵P:

知道投影矩阵P后。我们能够得到b在水平面上的投影p为:

显然,p与我们图中所看到的的结果同样。这里我们是以三维情况进行举例的,更高维情况。我们无法用图像来描写叙述,可是通式也是成立的。

三维图的matlab程序例如以下:

clear allclc a1=[1 0 0];a2=[0 1 0];b=[1 1 1];p=[1 1 0];e=b-p;quiver3(0,0,0,a1(1),a1(2),a1(3),1,'color','r')hold onquiver3(0,0,0,a2(1),a2(2),a2(3),1,'color','r')hold onquiver3(0,0,0,b(1),b(2),b(3),1,'color','g')hold onquiver3(0,0,0,p(1),p(2),p(3),1,'color','g')hold onquiver3(p(1),p(2),p(3),e(1),e(2),e(3),1,'color','b')

原文:

作者:nineheadedbird

你可能感兴趣的文章
jsf初学解决GlassFish Server 无法启动
查看>>
hdu 1050 (preinitilization or postcleansing, std::fill) ...
查看>>
Form各键盘触发子所对应的“按键”
查看>>
【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中...
查看>>
第一次模拟面试
查看>>
window.showModalDialog
查看>>
Pycharm选择pyenv安装的Python版本
查看>>
?Sized 和 Sized
查看>>
Java中如何防止内存泄漏的发生
查看>>
Java中Int转byte分析
查看>>
滑动窗口最大值的golang实现
查看>>
会计的思考(17):还原会计报表的企业个性之一
查看>>
java对象初始化顺序的简单验证
查看>>
[CF452E]Three strings
查看>>
获取指定进程所对应的可执行(EXE)文件全路径(代码)
查看>>
ORA-01722:无效数字
查看>>
搭建golang+vscode开发环境
查看>>
C#占位符
查看>>
java面试-JVM调优和参数配置
查看>>
常用的激活函数
查看>>