Matrix 代码行在命令窗口中运行正常,但在编辑器中运行不正常

Matrix 代码行在命令窗口中运行正常,但在编辑器中运行不正常,matrix,octave,Matrix,Octave,我有一个矩阵,18行3列。这三列以x、y和z坐标表示对象的位置。我根据对象与另一个矩阵(matrix2)的距离重新调整对象,如下所示: 移位取决于矩阵的最右坐标与矩阵x2的最左坐标之间的距离 我在命令窗口中多次检查了ShiftLeft的值,它工作正常,其值等于7 我只想创建一个新的矩阵,它是第一个矩阵,但被移动了 我打字 matrix + [shiftleft 0 0] 进入命令窗口,它会生成一个新的矩阵,这就是我想要的 我也试过 newmatrix = matrix + [shiftlef

我有一个矩阵,18行3列。这三列以x、y和z坐标表示对象的位置。我根据对象与另一个矩阵(
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