MATLAB绘图内部矩阵元素必须一致

时间:2015-01-15 01:51:07

标签: matlab plot

所以我只是试图用增量的变化绘制4个不同的子图。首先是dx=5,然后是dx=1, dx=0.1 and dx=0.01 from 0<=x<=20

我试过这个:

%for dx = 5
x = 0:5:20;  
fx = 2*pi*x *sin(x^2)
plot(x,fx)

然而我收到错误inner matrix elements must agree。然后我试着这样做,

x = 0:5:20
fx = (2*pi).*x.*sin(x.^2)
plot(x,fx)

我得到一个数字,但我不完全确定这是否与我最初尝试做的相同。这是对的吗?

1 个答案:

答案 0 :(得分:0)

由于两个具有相同形状的矢量不能平方(x^2)也不能乘以(x * sin(x^2)),因此产生了初始误差。在此.*运算符之前添加^是正确的,因为它将对向量的各个元素执行操作。是的,这是正确的。

此外,更高级的功能,您可以使用anonymous function来帮助表达式:

fx = @(x) 2*pi.*x.*sin(x.^2); % function of x

x = 0:5:20;
plot(x,fx(x));
hold('on');

x = 0:1:20;
plot(x,fx(x));
hold('off');