Matrix 代码行在命令窗口中运行正常,但在编辑器中运行不正常
我有一个矩阵,18行3列。这三列以x、y和z坐标表示对象的位置。我根据对象与另一个矩阵(Matrix 代码行在命令窗口中运行正常,但在编辑器中运行不正常,matrix,octave,Matrix,Octave,我有一个矩阵,18行3列。这三列以x、y和z坐标表示对象的位置。我根据对象与另一个矩阵(matrix2)的距离重新调整对象,如下所示: 移位取决于矩阵的最右坐标与矩阵x2的最左坐标之间的距离 我在命令窗口中多次检查了ShiftLeft的值,它工作正常,其值等于7 我只想创建一个新的矩阵,它是第一个矩阵,但被移动了 我打字 matrix + [shiftleft 0 0] 进入命令窗口,它会生成一个新的矩阵,这就是我想要的 我也试过 newmatrix = matrix + [shiftlef
matrix2
)的距离重新调整对象,如下所示:
移位取决于矩阵
的最右坐标与矩阵x2
的最左坐标之间的距离
我在命令窗口中多次检查了ShiftLeft
的值,它工作正常,其值等于7
我只想创建一个新的矩阵,它是第一个矩阵,但被移动了
我打字
matrix + [shiftleft 0 0]
进入命令窗口,它会生成一个新的矩阵,这就是我想要的
我也试过
newmatrix = matrix + [shiftleft 0 0]
在命令窗口中,它再次生成我想要的矩阵。
但当我运行脚本时,它告诉我这一行产生了错误:
是什么导致了这个错误
我最初认为是矩阵的命名导致了错误,但在命令窗口中命名它工作正常。As,ShiftLeft
与ShiftLeft
不同。很可能在工作区中定义了另一个变量shiftleft
,因此语句matrix+[shiftleft 0]
在命令窗口中工作正常。但是这个变量不会在脚本中定义,因此您会收到一条错误消息
例如,我在Octave命令窗口中看到:
>> ShiftLeft=0
ShiftLeft = 0
>> shiftleft
error: 'shiftleft' undefined near line 1 column 1
倍频程和MATLAB区分大小写,因此请确保在上述计算中使用的是
ShiftLeft
,而不是ShiftLeft
。我想不出任何其他原因,显示输出不会给您一个错误,但将其分配给变量会给您一个错误。
syntax error
newmatrix = matrix + [shiftleft 0 0]
^
>> ShiftLeft=0
ShiftLeft = 0
>> shiftleft
error: 'shiftleft' undefined near line 1 column 1