在MATLAB上绘制等距点的图形
我需要绘制的函数是y=exp(-0.3*t)*(2*cos(2*t)+4*sin(2*t)),t的值范围在0和2*pi之间 我在MATLAB上输入了以下命令:在MATLAB上绘制等距点的图形,matlab,Matlab,我需要绘制的函数是y=exp(-0.3*t)*(2*cos(2*t)+4*sin(2*t)),t的值范围在0和2*pi之间 我在MATLAB上输入了以下命令: >> t=linspace(0,2*pi,101); >> y=exp(-0.3*t)*(2*cos(2*t) + 4*sin(2*t)); 我发现了以下错误: Error using * Inner matrix dimensions must agree. 我不知道为什么。有人能指出原因并提出正确的命令
>> t=linspace(0,2*pi,101);
>> y=exp(-0.3*t)*(2*cos(2*t) + 4*sin(2*t));
我发现了以下错误:
Error using *
Inner matrix dimensions must agree.
我不知道为什么。有人能指出原因并提出正确的命令行参数吗
谢谢 您的问题在此术语中:
exp(-0.3*t) * (2*cos(2*t) + 4*sin(2*t));
你要乘以2个向量。您希望执行元素操作,即exp(-0.3*t)
的每个元素乘以的每个对应元素(2*cos(2*t)+4*sin(2*t))
,而不是两者的向量积
要实现您想要的,只需在乘法前添加一个点,如下所示
y = exp(-0.3*t) .* (2*cos(2*t) + 4*sin(2*t));
有关阵列与元素操作的信息,请参阅本文档:您的问题在于:
exp(-0.3*t) * (2*cos(2*t) + 4*sin(2*t));
你要乘以2个向量。您希望执行元素操作,即exp(-0.3*t)
的每个元素乘以的每个对应元素(2*cos(2*t)+4*sin(2*t))
,而不是两者的向量积
要实现您想要的,只需在乘法前添加一个点,如下所示
y = exp(-0.3*t) .* (2*cos(2*t) + 4*sin(2*t));
有关数组与元素操作的详细信息,请参阅本文档:“*”运算符是矩阵乘法运算符,如
您需要使用“.*”运算符,它是每元素运算符。必须使用它将一个向量或矩阵中的元素与另一个向量或矩阵中的元素一一匹配
所以你必须这么做
y=exp(-0.3*t).*(2*cos(2*t) + 4*sin(2*t));
请注意,在乘以常数时不需要“*”,因为对于矩阵和每元素运算的效果相同,“*”运算符是矩阵乘法运算符,如
您需要使用“.*”运算符,它是每元素运算符。必须使用它将一个向量或矩阵中的元素与另一个向量或矩阵中的元素一一匹配
所以你必须这么做
y=exp(-0.3*t).*(2*cos(2*t) + 4*sin(2*t));
注意,当乘以常数时不需要“*”,因为矩阵和每元素运算的效果相同使用
*
而不是*
进行元素乘法:y=exp(-0.3*t)。*(2*cos(2*t)+4*sin(2*t))代码>使用*
而不是*
进行元素乘法:y=exp(-0.3*t)。*(2*cos(2*t)+4*sin(2*t))代码>