Matlab中向量运算.docVIP

  1. 1、本文档共35页,可阅读全部内容。
  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文档。上传文档
查看更多
2.利用冒号表达式生成向量 冒号表达式的基本形式为x=x0:step:xn,其中x0、step、xn 分别为给定数值,x0 表示向量的首元素数值,xn 表示向量尾元素数值限,step表示从第二个元素开始,元素数值大小与前一个元素值大小的差值。 注意:这里强调xn 为尾元素数值限,而非尾元素值,当xn-x0 恰为step值的整数倍时,xn才能成为尾值。若x0xn,则需step0;若x0xn 则需step0;若x0=xn,则向量只有一个元素。若step=1,则可省略此项的输入,直接写成x=x0:xn。此时可以不用“[ ]”。 【例如】 a=1:2:12 a= 1 3 5 7 9 11 a=1:-2:12 a= Empty matrix: 1-by-0 a=12:-2:1 a= 12 10 8 6 4 2 a=1:2:1 a= 1 a=1:6 a= 2 3 4 5 6 3.线性等分向量的生成 在MATLAB中提供了线性等分功能函数linspace,用来生成线性等分向量,其调用格式 如下: y=linspace(x1,x2)生成100维的行向量,使得y(1)=x1,y(100)=x2; y=linspace(x1,x2,n)生成n维的行向量,使得y(1)=x1,y(n)=x2。 【例如】 a1=linspace(1,100,6) a1 = 1.0000 20.8000 40.6000 60.4000 80.2000 100.0000 说明 线性等分函数和冒号表达式都可生成等分向量。但前者是设定了向量的维数去生成等间隔向量,而后者是通过设定间隔来生成维数随之确定的等间隔向量。 4.对数等分向量的生成 在自动控制,数字信号处理中常常需要对数刻度坐标,MATLAB中还提供了对数等分功能函数,具体格式如下: y=logspace(x1,x2)生成50维对数等分向量,使得y(1)=10x1,y(50)=10x2; y=logspace(x1,x2,n)生成n维对数等分向量,使得y(1)=10x1,y(n)=10x2; 【例如】 a2=logspace(0,5,6) a2 = 1 10 100 1000 10000 100000 另外,向量还可以从矩阵中提取,还可以把向量看成1×n阶(行向量)或n×1阶(列向量)的矩阵,以矩阵形式生成。由于在MATLAB中矩阵比向量重要得多,此类函数将在下节矩阵中详细介绍,专门对向量运算感兴趣的读者可参考下一节。 2.2.2 向量的基本运算 1.加(减)与数加(减) 【例如】 a1-1 %这里的a1即上页中生成的a1 ans = 0 19.8000 39.6000 59.4000 79.2000 99.0000 2.数乘 【例如】 a1*2 ans = 2.0000 41.6000 81.2000 120.8000 160.4000 200.0000 2.2.3 点积、叉积及混合积的实现 1.点积计算 在高等数学中,向量的点积是指两个向量在其中某一个向量方向上的投影的乘积,通常可以用来引申定义向量的模。 在MATLAB中,向量的点积可由函数dot来实现。 dot 向量点积函数 dot(a,b) 返回向量a和b的数量点积。a和b必须同维。当a和b都为列向量时,dot(a,b) 同于a.*b。 dot(a,b,dim) 返回a和b在维数为dim的点积。 【例2.4】 试计算向量a=(1,2 ,3)和向量b =(3,4,5)的点积。 a=[1 2 3]; b=[3,4,5]; dot(a,b) ans = 26 还可以用另一种方法计算向量的点积。 sum(a.*b) ans = 26 2.叉积 在数学上,向量的叉积表示过两相交向量的交点的垂直于两向量所在平面的向量。在MATLAB中,向量的叉积由函数cross来实现。 cross 向量叉积函数 c = cross(a,b)返回向量a和b的叉积向量。即C = a×b。a和b必须为三维向量。 c = cross(a,b)返回向量a和b的前3位的叉积。 c = cross(a,b,dim)当a和b为n维数组时,则返回a和b的dim维向量的叉积。a和b必须有相同的维数。且size(a,dim)和size(a,dim)必须为3。 【例2.5】 计算垂直于向量a =(1,2,3)和b =(3,4,5)的向量。 a=[1 2 3]; b=[3,4,5]; c=cross(a

文档评论(0)

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

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

1亿VIP精品文档

相关文档