matlab基础学习(4)

一、 两个列矢量的内积

对于两个列矢量的内积的计算方法如下:

xdoty = y' * x


代码如下:

>> x = [1,2,3,5]'

x =

     1
     2
     3
     5

>> y =[3,6,7,8]'

y =

     3
     6
     7
     8


>> xdoty = y'* x

xdoty =

    76

>> 


二、矢量余弦

对于两个长度相等的实矢量x和y,计算其矢量余弦的方法如下:

cosxy =  y' * x / (norm(x) * norm(y))


而对于复矢量,正交性的比较的度量是矢量余弦的模数。如下:

collinearity  =  abs(y' * x) / (norm(x) * norm(y))


当collinearity 为0时,则表示矢量x和y实质上是正交的。而当collinearity接近为1时,表示矢量x与y接近共线的。

代码实现如下:

>> x = [1 2 4 5]'

x =

     1
     2
     4
     5

>> y = [3 6 7 8]'

y =

     3
     6
     7
     8

>> cosxy = y'*x/(norm(x) * norm(y))

cosxy =

   0.97357773436082

>> 

对于复矢量,代码如下:

代码一:

>> x = [2:2:8]'*j

x =

                 0 + 2.00000000000000i
                 0 + 4.00000000000000i
                 0 + 6.00000000000000i
                 0 + 8.00000000000000i

>> y = [10:2:16]'*j

y =

                 0 +10.00000000000000i
                 0 +12.00000000000000i
                 0 +14.00000000000000i
                 0 +16.00000000000000i

>> collinearity = abs(y' * x) / ( norm(x) * norm(y) );
>> collinearity = abs(y' * x) / ( norm(x) * norm(y) )

collinearity =

   0.96886393162697

>> 

代码二:(矢量x与y共线)

>> x = [2:2:8]'*j

x =

                 0 + 2.00000000000000i
                 0 + 4.00000000000000i
                 0 + 6.00000000000000i
                 0 + 8.00000000000000i

>> y = 2*[2:2:8]'*j

y =

                 0 + 4.00000000000000i
                 0 + 8.00000000000000i
                 0 +12.00000000000000i
                 0 +16.00000000000000i

>> collinearity = abs(y' * x) / ( norm(x) * norm(y) )

collinearity =

     1

>> 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值