MATLAB中plot函数用法

MATLAB中输入
>> x=1:0.1:3
f=sin(x)*(1+x)*log(1+x);
plot(x,f)
运行出错??? Error using ==> mtimes
Inner matrix dimensions must agree.
如果改成
>> x=1:0.1:3
f=sin(x).*(1+x).*log(1+x);
plot(x,f)
运行正确,可以绘出图形来。想知道sin(x)、(1+x)后面为什么必须加一个“.”才能运行?这个“.”代表什么,具体怎么用,什么地方加,什么地方不加?我是初学者。

f=sin(x).*(1+x).*log(1+x) 中的x是矩阵 所以 sin(x)也是矩阵(你可以看看sin(x)的大小就知道了)
要加.才能实现矩阵对应的元素相乘 如果不加是两个矩阵相乘
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-25
有"."的话表示数组乘法,对应数字做运算.没有"."的话就是整个矩阵在做运算.矩阵的运算和数组的运算显然是不同的.在本例中sin(x)*(1+x)*log(1+x)表示三个一行两列的矩阵相乘,有点线性代数的知识就知道,这样相乘显然是不合法的
相似回答