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

时间:2018-11-05 17:14:39

标签: matrix octave

我有一个矩阵,有18行3列。三列将对象的位置表示为x,y z坐标。我根据对象与另一个矩阵(ShiftLeft = max(matrix(:,1)) - min(matrix2(:,1)) )的距离重新调整对象,如下所示:

matrix

移位取决于matrix2的最右边的坐标与ShiftLeft的最左边的坐标有多远。

我已经在命令窗口中多次检查matrix + [shiftleft 0 0] 的值,并且它工作正常,其值等于7。

我想要做的就是创建一个新的矩阵,它是第一个矩阵,但是已移位。

我输入

newmatrix = matrix + [shiftleft 0 0]

进入命令窗口,它会生成一个新矩阵,这正是我想要的。

我也尝试过

syntax error 
newmatrix = matrix + [shiftleft 0 0]
       ^
在命令窗口中再次

生成我想要的矩阵。 但是,当我运行脚本时,它告诉我正是这一行产生了错误:

zip = zipfile.ZipFile(outfile, 'w', zipfile.ZIP_DEFLATED)

什么可能导致此错误?

我本来以为引起错误的是矩阵的命名,但是在命令窗口中将其命名可以正常工作。

1 个答案:

答案 0 :(得分:1)

page.screenshot()一样,ShiftLeftshiftleft不同。您的工作空间中可能已定义了另一个变量shiftleft,因此语句matrix + [shiftleft 0 0]在命令窗口中可以正常工作。但是该变量不会在脚本中定义,因此会收到错误消息。

例如,我在八度命令窗口中看到以下内容:

>> ShiftLeft=0
ShiftLeft = 0
>> shiftleft
error: 'shiftleft' undefined near line 1 column 1