我想要一个步长为0.5的-2到2的矢量,该矢量将另存为x。接下来,我要y为y = 3 * x ^ 3 + 3 * x + 6。
当我执行x = linspace(-2,3,9)时我得到
-2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000
但是编译器仍然抱怨: 使用^
时出错Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is a scalar. To perform elementwise matrix powers, use '.^'.
答案 0 :(得分:2)
您需要按元素进行。^操作(请参阅错误消息)。 matlab中有两种类型的操作。常用的矢量方式运算符(*,/,^)及其对应的元素运算符(。*,./,。^)。
使用标量时这没关系,但是一旦在向量或矩阵上运行,操作就会改变。
请查看here,以获得更深入的说明。
答案 1 :(得分:1)
只需在功率符号前使用点(。),这是因为您正在对整个矩阵使用功率符号,并且需要进行逐元素运算。
x=linspace(-2,3,9)
y=3*x.^3+3*x+6