Scilab:“不一致的乘法”错误信息

时间:2016-05-08 19:32:48

标签: math scilab

我想用参数化绘制曲线x = ...,y = ...和z = ...(见下文)。我不断收到错误消息,主要是“不一致的乘法”。这是我的代码:

t = linspace(0,4*%pi)
x = (4+sin(63*t))*cos(3*t)
y = (4+sin(63*t))*sin(3*t)
z = cos(3*t)
param3d(x,y,z)

有人可以解释为什么我收到此错误消息或我的代码应该如何更正?我还尝试将x,y和z定义为函数。

1 个答案:

答案 0 :(得分:1)

来自documentation of * operator

  

元素乘法表示为x.*y。如果xy是标量(1x1矩阵).**相同。

因此,在您的情况下,公式应该写为(4+sin(63*t)).*cos(3*t),因为您希望以元素方式乘以两个数组。没有圆点,星号表示矩阵乘法,由于尺寸不匹配而失败。

示例:

[1, 2] .* [3, 4] // returns [3, 8]
[1, 2] * [3, 4]  // error; one can't multiply a 1-by-2 matrix by another 1-by-2 matrix

也可以在这里写3.*t。因为只有一种方法可以将矢量乘以标量,所以这是多余的。