set::write For 循环中读入文件的标记时间错误

set::write Tag Times Error for reading in files in For loop

我有一个相当简单的代码,尽管代码中没有真正的数学运算,但我一直收到 "set::write Tag Times in npsRadSlice is protected" 错误。我已经解决了与同一错误相关的许多其他问题,这些问题的解决方案似乎对我不起作用。看看我的代码:

Clear["Global'*"]
SetDirectory["C:\Users\M\Desktop\radial_slices"]
swank = 0.9;
angle = 0;
percDev = ConstantArray[1,3];
For[zz=1,zz<4,zz++
 Clear[npsRadSlice]
 npsRadSlice = Import[StringJoin["slice1_",ToString[101000+zz-1],".xlsx"]];
]

我试过调用文件的不同方式,但没有任何改变我最终收到错误消息的事实:

Set::write : Tag Times in npsRadSlice Null is protected.
Set::write : Tag Times in 2 npsRadSlice Null is protected.
Set::write : Tag Times in 3 npsRadSlice Null is protected.
General::stop : Further output of Set::write will be suppressed during this calculation.

当这段代码中没有任何数学运算时,我不明白是什么导致了这个错误。非常感谢您提供的任何见解!

您的代码缺少一个逗号和一个分号

swank = 0.9;
angle = 0;
percDev = ConstantArray[1, 3];
For[zz = 1, zz < 4, zz++, 
 Clear[npsRadSlice];
 npsRadSlice = 1;
]

要了解触发错误的原因,请查看以下内容。虽然这里

zz++ 
Clear[npsRadSlice] 
npsRadSlice = 1

正在工作,下一个没有

Module[{},
 zz++ 
 Clear[npsRadSlice] 
 npsRadSlice = 1
]

经验法则是:不同行的文件级别的完整表达式被视为单独的表达式。在其他情况下,有一个隐式乘法。

基本上,您尝试做的是这样的:

z = 2;
z*npsRadSlice = 3