• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab中输入x. 与x的区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

参考:http://www.madio.net/thread-27742-1-1.html

点乘的话,是对应元素相乘。 
没点的话,按照矩阵相乘法则进行,这就要求前一个矩阵的列数等于第二个矩阵的行数。

向量也是一样,两个向量之间没有乘法(只有内积和外积,有专门的函数),因此诸如a*b是不合法的;但只要他们的维数一样,就可以进行对应元素之间的运算,因此a.*b、a./b或a.^2等等都是是可以的。 

另外,单独元素与矩阵(向量)之间的运算可以加点,也可以不加。如2*A和2.*A是等价的。

下面是画函数曲线的例子。 

要画函数y=x^2,x属于[-2,2]之间的函数图像。 
首先定义x=-2:.1:2; 
注意这样就产生了一个向量x,因此诸如x^2是不合法的。正确的写法是 
y=x.^2;表示y中的每个元素都是x中对应元素的平方。 
最后就可以画了plot(x,y); 
plot函数是将x和y两个向量的对应元素作为坐标,然后依次连接产生图像。 

当然我们也可以用ezplot产生图像 
但注意ezplot所输入的参数是符号,不是矩阵或向量。 
syms x;这里定义了符号变量x 
ezplot(x^2) 
因为x是单个的符号,不是向量或矩阵,也就是说他就是一个单独的元素。所以不用加点,直接平方就可以了。 
当然如果写成x.^2也可以,就和3^2和3.^2一样,因为单个元素对应点平方和直接平方是等价的。 

但是请注意,并不是符号变量就没有点运算。比如 
syms a b c d; 
[a b]*[c d]是没有意义的,因为此时[a b]和[c d]都是向量(虽然里面的元素是符号变量),可以认为是符号元素组成的向量或矩阵。 
但[a b].*[c d]是有意义的,表示[a*c b*d]


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap