微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行循环以运行 .dat 的批处理分析

如何解决执行循环以运行 .dat 的批处理分析

我正在尝试编辑当前的 Mathematica 脚本,以允许进行批处理。这涉及导入一系列不同名称(即不同的数字后缀)的文件,并最终编写不同的 .dat 以导出结果。我已经尝试为此实现一个 Do 循环(在下面的示例代码中,它是为带有 980 和 998 后缀的文件设置的),但不知何故 Mathematica 无法识别 Do 循环变量。有人可以帮忙吗?或者也许建议一种方法解决这个问题?谢谢!

Do[
prot=Import[StringForm["dMdt_protein_nve``.dat",i],"Table"];
ions=Import[StringForm["dMdt_ions_nve``.dat","Table"];
water=Import[StringForm["dMdt_water_nve``.dat","Table"];

(* ------------------------------------------------------ *)
(*parameters for spectrum calculation*)

times=Range[0,(nCorr*2-2)*dt,dt]; (*in picoseconds*)
f0=1/(Length[times]*dt); (*in THz*)
freqs=Table[i*f0,{i,Length[times]-1}];
wn=freqs*0.01*10^12/c;
prefactor=(2\[Pi] *(e*10^-10*10^12)^2*dt*10^-12*0.01)/(4\[Pi] Epsilon0*kb*300*3*(13.29315*10^-9)^3 c); (*to yield alpha(\[Omega]) \[Times] n(\[Omega]) in 1/cm*)

(* ------------------------------------------------------ *)
(*smart calculation with Fourier transforms for the correlations*)
(*auto-correlations via FT*)

protAC=FTAC[prot,nCorr];
ionsAC=FTAC[ions,nCorr];
wateraC=FTAC[water,nCorr];

(* ------------------------------------------------------ *)
(*(*Save data to file*)*)

Export[StringForm["out_protccwaterSpec_nve``.dat",protccwaterSpec+waterCCprotSpec "Table"];,{980,998}}] 





解决方法

问题是 **Constraints** 不是 StringForm。请改用 String。确保这有效,然后添加其余代码。

StringJoin

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。