QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 18707|回复: 1
打印 上一主题 下一主题

matlab中输入x. 与x的区别

[复制链接]
字体大小: 正常 放大
fke93 实名认证    中国数模人才认证   

65

主题

6

听众

706

积分

清风

该用户从未签到

新人进步奖

群组数学建模

群组LINGO

群组MATLAB

跳转到指定楼层
1#
发表于 2009-6-26 20:06 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
matlab中输入x. 与x的区别
在matlab中,有的要输入x 有的要输入 x.
什么情况下要多一点呢?




建议自己试一下:
A=[1,2;3,4];
A2=A*A %没点
A3=A.*A %有点

B=[1,2];
B2=B*B %这个会出错
B3=B.*B %这个不会出错


点乘的话,是对应元素相乘。
没点的话,按照矩阵相乘法则进行,这就要求前一个矩阵的列数等于第二个矩阵的行数。好好看一下上面的AB两个例子。


首先要说清楚的是不是x后多了一个点,而是运算符号前多了一个点,即.*或./或.^等等。表示的是对应元素的运算。

比如说两个矩阵A=[1 2;3 4];B=[5 6;7 8]
A.*B=[1*5 2*6;3*7 4*8]
而A*B是矩阵的乘法
同样A.^2表示[1^2 2^2;3^2 4^2]

向量也是一样,两个向量之间没有乘法(只有内积和外积,有专门的函数),因此诸如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]
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
jack-wang 实名认证       

1

主题

3

听众

68

积分

升级  66.32%

该用户从未签到

数组包括矩阵和向量,矩阵之间运算不需要带点,而向量与数或向量之间运算需要带点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-6-12 15:06 , Processed in 0.290054 second(s), 57 queries .

回顶部