set::write for循环中读取文件的标签次数错误



我有一个相当简单的代码,我一直得到"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

最新更新