gpt4 book ai didi

带有 GrADS 脚本的 Matlab fprintf 函数

转载 作者:行者123 更新时间:2023-12-02 04:54:09 26 4
gpt4 key购买 nike

我正在使用 Matlab 打印一个小文本文件 (temp_script.exec),该文件将用于运行 GrADS 命令。该脚本如下所示:

'reinit'
'open temp_ctl.ctl'
'set lon -100 -80'
'set lat 20 30'
'define prc = var'
'set sdfwrite data_out.nc'
'sdfwrite prc'

脚本通过cshell调用:

#!/bin/csh -f
grads -lbc << EOF
temp_script.exec
EOF
exit

脚本似乎可以正常执行,但未生成输出 (data_out.nc)。奇怪的是,如果我使用 VI 编辑它并替换第一个字符——命令“reinit”之前的单引号——通过键入另一个单引号,然后重新运行脚本,数据就会正确生成。

我的问题是,有什么不同?这些脚本在几个不同的文本编辑器中看起来完全相同,但“修改后的”脚本(通过键入)大了 1 个字节。我正在使用“fprintf”函数在 Matlab 中生成单引号。会不会是那个函数有问题?

感谢阅读。

最佳答案

查看文件是否真的相同(生成的文件和使用 vi 编辑的文件):

od -c -t x1 temp_script.exec > temp_script.lis
od -c -t x1 vi_script.exec > vi_script.lis
diff exec_script.lis vi_script.lis

文件开头可能有 UNICODE BOM,或者文件末尾缺少换行符,这会导致您出现问题。

关于带有 GrADS 脚本的 Matlab fprintf 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com