试验六向量的内积与正交矩阵.DOCVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试验六向量的内积与正交矩阵

实验六 向量的内积与正交矩阵 一、实验目的 本实验旨在使学生掌握用Matlab来求向量的内积、长度、夹角以及用Matlab实现向量组的正交化方法。 二、实验内容 1、向量的内积、长度和夹角的余弦 (1)向量的内积 先建立两个同维的向量,命令如下: x=[1 -2 0 9] x = 1 -2 0 9 y=[2 3 4 5] y = 2 3 4 5 则这两个向量的内积的计算命令如下: p=x*y p = 41 计算向量的内积还有一种更为简单的方法,Matlab本身自带的函数dot可以直接求出两个向量的内积,例如上面的例子,我们可以直接输入dot(x,y)就可以得到结果: dot(x,y) ans= 41 但是这里需要大家注意的是,dot命令并不区分向量相乘的顺序,即无论输入行向量还是列向量,无论以什么顺序输入,只要是两个向量维数相同,都直接给出这两个向量的内积,这一点,与我们介绍的第一种方法是不同的。 (2)向量的长度 对给出的向量,我们来求它的长度。 先建立一个矩阵,命令如下: x=[1 -2 0 9] x = 1 -2 0 9 依定义计算长度的命令如下: xx=sqrt(x*x) xx = 9.27361849549570 依Matlab内部函数计算的命令为: xx=norm(x) xx = 9.27361849549570 如果要求长度的精确表示,可用如下命令: x=sym(x) x = [ 1, -2, 0, 9] xx=sqrt(x*x) xx = 86^(1/2) 说明:norm命令不能用于求精确解。 (3)向量夹角的余弦 先建立两个向量,命令如下: x=[1 -2 0 9] x = 1 -2 0 9 y=[2 3 4 5] y = 2 3 4 5 两向量的内积为: p=x*y p = 41 它们的长度分别为: xx=norm(x) xx = 9.27361849549570 yy=norm(y) yy = 7.34846922834953 则夹角余弦为: cost=p/(xx*yy) cost = 0.60164145265584 (4)综合功能函数 我们完全可以建立一个函数来实现上面所讨论的功能,函数的内容如下: function zhhs(x,y) L1=length(x); L2=length(y); if L1==L2 disp(x与y的内积为:); p=x*y disp(x的长度为:); xx=norm(x) disp(y的长度为:); yy=norm(y) disp(x与y夹角的余弦:); cost=p/(xx*yy) else disp(x与y是不等长的向量,不能求内积); end 保存在当前目录下,进行运行.命令和结果如下: r=[1 2 3] r = 1 2 3 g=[2 3 4] g = 2 3 4 zhhs(r,g) x与y的内积为: p = 20 x的长度为: xx = 3.74165738677394 y的长度为: yy = 5.38516480713450 x与y夹角的余弦: cost = 0.99258333397093 2、正交矩阵的判别 下面我们通过实例来说明在Matlab中怎样判别正交矩阵的。 (1)应用命令行 先建立一个矩阵,命令如下: A=[1/9 -8/9 -4/9;-8/9 1/9 -4/9;-4/9 -4/9 7/9] A = 0.11111111111111 -0.88888888888889 -0.44444444444444 -0.88888888888889 0.11111111111111 -0.44444444444444 -0.44444444444444 -0.44444444444444 0.77777777777778 若此矩阵与其转置的乘积为单位阵,则说明该矩阵为正交阵,下面进行具体操作: 求出该矩阵与其转置的乘积,命令如下: p=A*A p = 1 0 0 0 1 0 0 0 1 由此可见,它为正交阵。 (2)编写程序 所编写的程序如下: function FFF(A) [m,n]=size(A); p=(A*A==eye(n)); N=sum(sum(p)); %求矩阵的所有元素之和

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档